第三天

继承,关键字extends

super()调用父类构造方法,super.父类成员方法()。

子类不能调用父类中被修饰为private的方法。

子类对父类的操作,调用,新增方法,重写父类方法,重写(返回值为子类的)。

重构:特殊的重写方式,子类与父类的成员方法返回值,方法名称,参数类型及个数完全相同,唯一不同的是方法实现内容。

重载:同一个类中允许同时存在一个以上的同名方法,只要方法的参数类型,个数,返回值或者顺序不一样。(注不定长参数重载方法,化为数组,遍历)

重写父类方法时,权限修饰符只能从小范围到大范围的改变。private,protected,public。

在实例化子类对象时,java编译器会在子类的构造方法中自动调用父类的无参构造方法,其顺序,首先是顶级父类,然后是上一级父类,最后是子类。【即先实例化父类对象】

有参构造方法不能被自动·调用,只能依赖于super关键字显示调用父类构造方法。

如果使用finalize()方法对对象进行清理,需要确保子类的finalize方法的最后一个动作是调用父类的。

object类:geClass(),返回对象执行时的Class实例;toString()方法,讲一个对象返回为字符串形式。两者常联合使用。

对象类型转换:向上转型。把子类对象赋值给父类对象,Quadrangle obj = new Parallelogram()。向下转型。将父类对象强制转换为某个子类对象,进行显示类型转换,Parallelogram p =(Parallelogram) q。

执行向下转型操作时,如果父类对象不是子类对象的实例,就会发生ClassCastException异常,所以需要判断父类对象是否为子类对象的实例。if(父类对象 instanceof 子类){向下转型,强制转换;}

多态。。。。。。。感觉还没理解!不懂他的应用。

一般将父类定义为抽象类,需使用这个父类进行继承和多态处理。

java语言中设置抽象类不可以实例化对象。

abstract,定义抽象类的关键字。使用abstract的类,抽象类,方法,抽象方法。public abstract class Test{abstract void testAbstract();//定义抽象方法}

接口是抽象类的延伸,可以看做纯粹的抽象类,接口中的所有方法都没有方法体。关键字interface。public interface drawTest{void draw();//接口内的方法,省略abstract关键字}

一个类实现一个接口使用implements关键字。public 类a继承类b implements 接口{  。。。}

接口中定义的方法必须被定义为public或abstract。接口中定义的任何字段都是static和final的。

java中不允许多重继承,可以使用接口实现。一个雷可以同时实现多个接口。class 类名 implements 接口1,接口2........ 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值