手记

Java入门第二季小结

  1. instanceof运算符可以用来避免引用对象类型转换时的错误,也就是判断一个引用是否能转换成另一个类的引用
    if(引用1 instanceof 类) 括号中返回的是boolean类型

2.instanceof运算符还可以用来判断一个引用所指的对象是否真正实现了接口,语法为:
if(引用 instanceof 接口) 括号中返回的是boolean类型

3.当某些类具有共同的特征时,此时如果单独的建立这些类,并在每个类中都建立这样的特征,就会不便于管理和维护,更好的做法是将他们共有的特征单独拿出来建立一个接口,然后用这些类去实现这个接口,这样是更好的。

4.关于类与对象的赋值,有两种情况:
(1)类1 引用=new 类2();
-------》多态:初始化一个对象,并赋值给一个引用,即用类1的引用来指向类2的对象,此时有两种情况是可以的:类1=类2 第二种:类1是类2 的父类
(2)类1 引用1=引用2
上述做法是否可以需要从两个角度来看,第一点是从本质上的,如果第一点不满足,第二点也不用看了。第一点是,直接看引用2真正指向的对象是什么类型,如果引用2真正指向的对象是类1或者是类1的子类或者类1的父类,那么可以。
进一步,如果引用2 真正指向的对象是类1,那么上述语法直接就可以通过编译。
如果引用2 真正指向的对象是类1的子类,那么可以,即自动向上类型转换。
如果引用2 真正指向的对象是类1的父类,那么需要用强制类型转换,即强制向下类型转换,就可以用引用1来调用该对象的公有成员了。
5.接口:
接口本身的修饰符为public abstract 其中abstract通常省略
包含0-多个常量的定义:public static final 其中static final 通常省略
包含0-多个抽象方法的定义:public abstract 其中abstract通常省略
6.抽象类:
(1)属性可有可无,属性的性质也没有要求
(2)方法可有可无,方法的性质也没有要求
(3)如果有抽象方法,那么该类一定是抽象类,抽象方法一定要在子类中实现
(4)抽象类不能直接实例化,但是可以用抽象类的引用来指向子类的对象
(5)抽象类作用就是规定了子类必须拥有哪些特征,但是不关心具体的实现细节
7.final关键字
(1)修饰类,那么该类不可以被继承
(2)修饰方法,那么该方法不可以被重写
(3)修饰属性,那么该属性有且只能有一次赋值,要么声明时初始化,要么在构造函数中初始化,二者只能有其一
(4)修饰变量,那么变量即为常量,必须有且只有一次赋值,声明时初始化
8.static 关键字
(1)静态成员
(2)静态方法
(2.1)静态方法中只能使用本类中的静态方法和静态属性,不能使用非静态方法和非静态属性,如果想使用,那么需要在静态方法中创建一个本类的对象,用对象来引用本类中的其他所有属性和方法。
(2.2)但是普通的方法可以使用所有的属性和方法。

1人推荐
随时随地看视频
慕课网APP