(11)Java笔记11之继承

1、在Java中,所有的继承都是公有继承。


2、super和this引用不是类似的概念,这是因为super不是一个对象的引用,不能将super赋值给另一个对象变量,它只是一个指示编译器调用超类方法的特有关键字。


3、在构造器中使用super()是表示调用父类的构造器。


4、使用super调用构造器的语句必须是子类构造器的第一条语句。


5、如果子类的构造器没有显示地调用超类的构造器,则将自动地调用超类默认(无参数)的构造器。如果超类没有不带参数的构造器,并且在子类的构造器中又没有显示地调用超类的其他构造器,则Java编译器将报告错误。


6、关键字this的两个用途:一是引用隐式参数,二是调用该类的其他构造器。
   关键字super两个作用:一是调用超类的方法,二是调用超类的构造器。


7、多态:一个对象变量可以引用多种实际类型的现象。


8、动态绑定:在运行时能够自动地选择调用哪个方法的现象。


9、“is-a”规则表明程序中出现超类对象的任何地方都可以用子类对象置换。


10、不能将一个超类的引用赋给子类变量。


11、在Java中,子类数组的引用可以转换成超类数组的引用,而不需要采用强制类型转换。


12、如果是private方法、static方法、final方法或构造器没那么编译器可以准确地知道应该调用哪个方法,这种调用方式称为静态绑定。


13、在覆盖一个方法时,子类方法不能低于超类方法的可见性(访问权限)。


14、final类:不允许扩展的类,阻止利用这个类定义子类。final类中的所有方法自动地成为final方法,而不包括域(如属性)。


15、当类中的方法被声明为final的时候,子类不能覆盖这个方法。


16、类即使不含抽象方法,也可以将它们定义为抽象类。


17、抽象类不能被实例化,也就是说如果将一个类声明为abstract,就不能创建这个类的对象。


18、可以定义一个抽象类的对象变量,但是它只能引用非抽象类的对象,如:
Person p=new Student("VV","EE);
其中p是一个抽象类的Person的变量,它引用了一个非抽象子类Student的实例。


19、protected的受保护部分对所有子类及同一个包中的所有其他类都可见。


20、Java四种控制可见性的访问修饰符:
private:仅对本类可见
public:对所有类可见
protected:对本包和所有子类可见
默认(没有任何修饰符):对本包可见


21、在Java中,只有基本类型不是对象,所有的数组类型,不管是对象数组还是基本;类型数组都扩展于Object类。


22、在使用ArrayList添加元素师用add(),永远返回true,但是对于set(index,element)则只能用于替换,而不能用于添加,谨记。


23、包装器有:Integer、Long、Double、Short、Byte、Character、Void和Boolean(前六个类派生于公共的超类),对象的包装器是不可变的,即一旦构造了包装器,就不允许更改包装在其中的值。对象包装类还是final,因此不能定义它们的子类。
打包和拆包是编译器认可的,而不是虚拟机。


24、在比较两个枚举值时,永远不要用equals,直接用==即可。


25、能够分析类能力的程序称为反射。


26、Java反射中,虚拟机为每个类型管理一个Class对象,因此,可利用==运算符实现两个类对象比较操作,如:if(e.getClass()==Employee.class)。


27、Java反射中一个Class对象实际上表示的是一个类型,而这个人类型未必一定是一种类。例如:int不是类,单int.class是一个Class类型的对象。


28、Class类中getField、getMethod、getConstructors方法将分别返回类提供的public域、方法和构造器数组,其中包括超类的公有成员。


29、Method类中有一个invoke方法,它允许调用包装在当前Method对象中的方法。


30、对象的克隆是指创建一个新对象,且新对象的状态与原始对象的状态相同,当对克隆的新对象进行修改时,不会影响原始对象的状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值