昨晚泡芝麻糊做夜宵,不了水冲到触摸板上了,现在触摸板上有两个键失灵,ORZ...
继续回忆,总结,加深印象。。。
一、对象的转型:假如有两个class,其中class Student extends Person
向上转型——将子类的对象赋值给父类的引用:
Student s = new Student();
Person p = s;
或者直接Person p = new Student();
向下转型——将父类的对象赋值给子类的引用:
Student s1 = new Student();
Person p = s1;
Student s2 = (Student)p;
//错误的向下转型实例:
Person p = new Person();
Student s = (Student)p;
二、一个引用能够调用哪些成员(变量和函数),取决于这个引用的类型
三、一个引用调用的是哪一个方法,取决于这个引用所指向的对象
四、因为上面三点,主要是由于第三点的关系,所以java产生了多态的概念。多态是在程序运行时的现象,而非编译过程中产生的。
五、抽象函数:只有函数的定义,没有函数体的函数被称为抽象函数。eg:
abstract void fun();
六、抽象类:用abstract定义的类被称为抽象类。
七、抽象类不能够生成对象,只能被继承,然后其中的抽象方法需要被override。
八、如果一个类当中包含有抽象方法,那么这个类必须被声明为抽象类。
九、如果一个类当中没有抽象方法,那么这个类也可以被声明为抽象类。
十、虽然1、抽象类不能产生对象2、构造函数用户生成类的对象,但是抽象类还是有构造函数。因为抽象类可以被继承,而子类的构造函数,在最默认初始的情况下也会通过super()调用父类的构造函数
十一、抽象的方法,不能使用private修饰
十二、一个类的全名应该是“包名”+“类名”
十三、4个访问权限:public private default protected
public:不同包间也可以访问;
private:只有本类可以访问;
default:同一个包中可以访问;
十四、package
十五、带包的java文件编译指令:javac -d . *.java