码迷,mamicode.com
首页 > 编程语言 > 详细

java基础(二)

时间:2018-04-30 15:39:55      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:返回值   art   可变   reg   地址   ace   first   向上转型   替换   

字符串的方法

  字符串实例化的两种方法
        -直接赋值:会在堆内存中开辟一块空间,并且自动入池
        -构造方法:会在堆内存中开辟两块内存空间,不会自动入池,要实现入池,要使用intern()

 替换满足条件的字符串内容
 ·public String replaceAll(String regex,String replacement)替换所有满足条件的字符串
 ·public String replaceFirst(String regex,String repalcement) 替换满足所有条件的第一个字符串

 截取字符串的内容
 ·public String substring(int beginIndex)截取从指定索引开始以后的所有内容
 ·public String substring(int beginIndex,int endIndex)截取指定开始索引到结束索引的内容

 字符串的拆分
 ·public String[] split(String regex)根据指定的字符拆分成字符串数组
 ·public String[] split(String regex,int limit)根据指定的字符标记拆分,拆成指定大小的数组

  部分拆分
  对于一些敏感字符的拆分要使用转义之后才能拆分,如:"\\|"、"\\."

  将字母大小进行转换
  ·public String toLowerCase()将大写字母变成小写
  ·public String toUpperCase()将小写字母变成大写

  ·public String trim()取消字符两端的空格,中间的空格不会被取消
  String对象不能频繁的被改变,会产生大量的垃圾。匿名对象有堆内存,没有栈内存。

  在字符串作比较的时候将匿名对象放到前面可以避免空指针异常

  引用数据的传递
    一块堆内存空间可以被多块栈内存地址指向
    一块栈内存只能指向一块堆内存空间

StringBuffer的方法

-构造方法:

·public StringBuffer (String str)
-实现字符串的追加
·public StringBuffer append(String str)
-实现字符串的反转
·public StringBuffer reverse(String str)    
-在指定位置增加数据
·public StringBuffer insert(int offset,String str)
-删除部分数据
·public StringBuffer delete(int start,int end)

String申明之后内容不可变,StringBuffer考虑了线程安全,而StringBuilder没有考虑线程线程安全        

在字符串修改频率高的时候使用StringBuffer(内存溢出问题)  

接口

如果一个类中只有全局常量和抽象方法,但是没有构造方法,那么这个类就是接口,在接口中可以定义静态方法,但是没有意义
·实例变量:在类中声明但是没有使用static修饰的常量
·静态变量:(类变量)在类中声明但是使用了static修饰的常量
·局部变量:在方法中声明的变量,一旦方法被执行完就会被销毁
·全局常量:在类中声明,并且使用static和final修饰的变量
    接口要有意义就必须被子类实现,要使用interface关键字,如果子类不是抽象类,那么要实现接口中的所有抽象方法
    接口解决了单继承的局限性可以多实现,接口之间也可以使用继承关键字extends,接口也可以实现向上转型
继承
    继承解决了代码的重复问题,在实例化子类的时候会默认调用父类的构造方法,如果定义了有参的构造方法那么无参的就不存在了
    父类封装的属性可以被子类继承,这样的继承被称为隐式继承。
覆写与重载
    覆写(override)表示方法的重写
        -方法名,参数列表,返回类型相同
        -发生在继承关系中
        -子类不能拥有比父类更严格的访问权限
    重载(overload)表示方法的重载
        -方法名相同,参数列表不同
        -对返回值没有要求,但是再开发中返回值要求保持一致
        -对访问权限没有要求,但是在开发中要求保持一致        
    方法的递归
        -方法的递归就是方法自己调用自己    
多态
    多态实现了类参数的统一,要实现多态就必须以继承或者实现为基础,那么多态的表现形式有两种:
        -方法的多态:重载,重写
        -对象的多态:向上转型,向下转型
            ·向上转型:父类 变量=子类实例化对象
            ·向下转型:子类 变量=(强转)父类对象【先必须实现向上转型】    
     多态机制的原理:可以使用父类或者接口的引用变量指向具体子类的实例化对象,在程序调用方法时是在运行时动态绑定的所绑定的方法是具体子类或者实例对象中的方法,而不是引用类型中的方法

向下转型存在类型转换错误的风险,用instanceof关键字来判断一个类是否是它的子类,如 person instanceof Student    

       抽象类
         抽象类有自己的构造方法,但是不能实现不能直接实例化对象,如果子类不是抽象类,那么子类必须覆写抽象类的所有方法
         抽象类可以没有抽象方法,但是有抽象方法的一定是抽象类或者接口,在开发中抽象类可以设计成模版模式
         静态属性
         static定义的属性就是静态属性,静态属性不依赖实例化对象的存在,可以使用类名.属性名调用。静态方法中不能访问
         非静态属性、非静态方法,静态方法中不能使用this关键字,非静态方法可以访问静态方法。 

 

java基础(二)

标签:返回值   art   可变   reg   地址   ace   first   向上转型   替换   

原文地址:https://www.cnblogs.com/skynomonarch/p/8973609.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!