发表于: 2016-12-12 23:58:59
2 2346
今天继续补java基础知识,越复习越发现之前理解的不够透彻:
封装:使用访问修饰符隐藏细节,仅暴露必要的方法供操作
重点:set和get方法
继承:子类不能继承父类的构造器;
java.lang.Object类是所有类的父类,所有对象都可以调用父类中所定义的方法
重写父类方法注意两同两小一大:方法名和形参列表相同,方法返回值类型更小或相等,抛出异常类更小或相等,子类方法的访问权限更大或相等
super关键字用在调用父类中被覆盖的实例方法或实例变量,也可以用来调用父类的构造器;
多态
相同类型的变量,调用同一个方法时呈现出多种不同的行为特征
引用变量在编译阶段只能调用其编译时类型所具有的方法,但运行时则执行它运行时类型所具有的方法;
与方法不同的是,对象的实例变量不具备多态性,编译时和运行时都执行它编译时类型所对应的变量;
把子类对象赋给父类引用变量的时候是”上转型”,是可行的,当需要把父类对象赋给子类时,需要使用强制类型转换,而且还可能在运行时出现”ClassCastException”异常,可以使用instanceof运算符;(判断前面的对象是否是后面的类后者子类,实现类的实例)
通常先用instanceof判断前一个对象
2.问题:
instanceof运算符;(判断前面的对象否是后面的类后者子类,实现类的实例)
如:String a = “hello”
System.out.println(a instanceof Object)
疑问:这里a只是一个变量不是对象啊,为啥书面官方解释instanceof是用于判断前面的对象否是后面的类后者子类,实现类的实例
晚上一直在纠结引用变量和对象的本质以及区别的问题,百度了好久总算明白了一些,根据网上说的,我理解为:引用变量是对象类型,
但是,对象不是要new关键字创建吗?
明天计划:
完成继承与组合,抽象类,接口,内部类,枚举类,java基础类库的复习理解
评论