1.在java中表示继承的语法语句:class Student extends Person{}
2.只允许多层继承,不允许多重继承。一个子类只能有一个父类,而一个父类还可以有一个父类。
3.子类也可以称作派生类,
4.子类对象在实例化之前必须首先调用父类中的构造方法后,再调用子类自己的构造方法(注意,只是针对构造方法,普通方法不用)。
5.方法的覆写指子类定义了与父类同名的方法,子类覆写的方法不能拥有比父类更严格的访问权限。当方法被覆写之后,子类对象调用的将是被覆写后的方法。
在子类中直接通过 super.方法() 的形式即可访问父类中的相关方法。
8.
9.要求数组实现动态内存分配意即,其中数组的大小是由程序外部决定的,
10.final关键字称为完结器。可以声明类,属性,方法。
使用final声明变量时,要求全部字母大写。
全局常量:
11.抽象类的目的:让人们依据它的格式来修改并创建新的类。
抽象类中不能直接创建对象,只能通过抽象类派生出新类,再创建对象。
抽象类也是单继承,一个子类只能继承一个抽象类
12.抽象类不能被final关键字声明,也不能用private声明。抽象类就是比普通类多定义了一个抽象方法,除了不能直接进行对象的实例化操作之外没有任何不同。
13.接口是一种特殊的类, 由全局常量和公共的抽象方法组成
14.
16.一个接口是不允许继承抽象类的,但允许一个接口继承多个接口
抽象类实现了接口,之后抽象类就可以把接口中的方法拿来当作抽象方法。
18.对象的转型格式:
通过向上转型后,子类的代价就是不能访问自己的私有方法(即在父类中没有的方法)
为何不直接Bird b=new Bird();b.eat() 呢?
这样就没有体现出面向对象的抽象的编程思想,且降低了代码的可扩展性
子类是父类的超集,子类拥有的信息(例如方法),父类不一定有。用子类类型去操作父类对象是不安全的。
父类是子类的子集,父类拥有的公有信息(例如方法),子类一定有,所以用父类类型去操作子类对象是安全的,也即向上转型是成立的。
19.在进行对象的向下转型前,必须先向上转型,否则出现异常,过程相当于由子类去实例化父类对象
记住用词:通过向上转型实例化父类对象
通过父类的构造方法实例化本类对象
即通过向上转型实例化的父类对象,同时是子类和父类的实例。
向下转型时,先判断,再操作
22.在java中可以通过对象的多态性为抽象类和接口实例化,这样再使用抽象类和接口的时候可调用本子类中覆写的方法。
23.接口时java解决多继承局限的一种手段,接口就是规定出了一个标准,计算机认的只是接口
24.程序再接口和子类之间加入一个过渡端,通过此端口获得接口的实例化对象(工厂类)
25.代理设计就是由一个代理主题来操作真实的主题。
26. 对于java 来说,如果一个类要实现一个接口,则必须覆写此类中的全部抽象方法,
28.
29.java 中所有的类都有一个公共的父类object类,对于一个良好设计的类来说,最好覆写object类中的equals, toString, hashCode方法
31.接受任意引用类型的对象:
接口实例化不能和向上转型混为一谈
34.匿名内部类: