java多态性和包装类总结

面向对象的多态性
Object类
如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类
toString()方法
其返回值是String类型,如果直接打印某对象的引用,则默认会调用这个对象的toString()方法,
默认打印的内容中包含这个引用所指向的内存地址。
可以根据需要在用户自定义类中重写toString()方法。


equals()方法
Object的equals方法定义为:x.equals(y),当x和y指向同一个地址时返回true,否则返回false
String类中已经重写了equals(Object  obj)方法,重写后的方法比较的是两个字符串的”内容”是否一样(注意:==比较对象的引用)
对象的多态性主要分为两种
向上转型: 子类对象->父类对象  (程序会自动完成)
    格式:
父类 父类对象=子类实例
向上转型后,因为操作的是父类对象,
所以无法找到在子类中定义的新方法;但如果子类重写了父类的某个方法,则调用的是重写后的方法
向下转型:父类对象->子类对象 (必须明确的指明要转型的子类类型)格式:
子类 子类对象=(子类)父类实例
注意:向下转型前先要向上转型。
在java中可以使用instanceof关键字判断一个对象是否属于一个类的实例


final修饰变量(成员变量或局部变量),则成为常量,只能赋值一次
   final  类型  variableName;
 
  修饰成员变量时,定义时同时给出初始值,而修饰局部变量时不做要求
抽象类与接口
抽象类不能被实例化,必须被继承,抽象方法必须被重写,生成它的子类
PS;
构造方法、静态方法、私有方法、final方法不能被声明为抽象的方法
接口


种抽象类中只能包含常量和方法的定义,而没有变量和方法的实现
String类、StringBuffer类、StringBuilder类
装箱:将基本数据类型包装为对应的包装类对象
拆箱:将包装类对象转换成对应的基本数据类型


String的两种实例化方式
         a:直接赋值法:
         eg:  String str=“Hello World”;


  b:通过new操作符实例化:
      eg: String str=new String(“Hello World”);


StringBuffer类:
  (1)StringBuffer代表可变的字符序列。
  StringBuffer称为字符串缓冲区,它的工作原理是:预先申请一块内存,存放字符序列,如果字符序列满了,会重新改变缓存区的大小,以容纳更多的字符序列。
   (2)StringBuffer是可变对象,
这个是与String最大的不同(如果连续操作String对象,则会产生大量的“垃圾”,而且“断开-连接”很频繁。)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值