1.staitc 静态成员变量,静态成员函数
静态成员变量指的是当定义两个或者多个该类的对象时,修改其中一个对象的该静态成员变量,那么其他对象的静态成员变量也会更改。因为他们引用的是同一个成员变量地址静态成员函数不能引用非静态成员变量;
抽象函数是指只有声明而没有函数体的函数;
抽象函数必须包括在抽象类里面,也就是说一个类如果包含抽象函数,那么这个类一定要声明为抽象类;
抽象类里面可以没有抽象函数;
抽象类是一个基类(也就是父类,只能被继承extends);
抽象类不能生成对象(也就是new一个类),但是抽象类有构造函数,其构造函数会在子类的构造函数中通过super()调用执行,也可以子类的构造函数中显示调用该抽象类的有参构造函数;
public:访问不受限制
protected:子类访问父类的成员变量和函数不受包约束(也就是能访问不在同一个包中的父类的成员变量和成员函数)
private:只能在当前类中访问
接口中的方法都是抽象方法;
接口中的方法都是pubcli;
一个接口可以实现(implements)多个接口;
一,定义一个接口
二,定义多个类实现这个接口
三,定义一个工厂类,在这个工厂类中定义一个方法,返回值是接口类型。在该方法中判断生成的类的对象赋值给这个接口类型的引用。
四,调用工厂类方法,传入相应的表示,由这个返回接口类型去调用相应类的方法;
静态成员变量指的是当定义两个或者多个该类的对象时,修改其中一个对象的该静态成员变量,那么其他对象的静态成员变量也会更改。因为他们引用的是同一个成员变量地址静态成员函数不能引用非静态成员变量;
2.多态
向上转型:向上转型是指将子类的对象直接赋给父类的引用。Person p=new Stuentd();但是对象p调用的成员变量和成员方法都是必须在Person类中存在的成员变量和函数。执行的方法都是子类中的成员变量和成员函数。当子类的成员函数中有调用子类独有的成员变量,这个是可以的。
向下转型:向下转型将父类的对象赋值给子类的对象引用,需强制转换。前提是要先向上转型。
Person p=new Stuentd(); Student s=(Stuentd)p;如果Person p=new Person();Student s=(Stuentd)p;这是错误的。
3.abstract(抽象函数和抽象类)抽象函数是指只有声明而没有函数体的函数;
抽象函数必须包括在抽象类里面,也就是说一个类如果包含抽象函数,那么这个类一定要声明为抽象类;
抽象类里面可以没有抽象函数;
抽象类是一个基类(也就是父类,只能被继承extends);
抽象类不能生成对象(也就是new一个类),但是抽象类有构造函数,其构造函数会在子类的构造函数中通过super()调用执行,也可以子类的构造函数中显示调用该抽象类的有参构造函数;
继承抽象类的类必须实现抽象类的抽象方法;
4.访问修饰符(public,protectd,private,default)public:访问不受限制
protected:子类访问父类的成员变量和函数不受包约束(也就是能访问不在同一个包中的父类的成员变量和成员函数)
private:只能在当前类中访问
default:指的不加访问修饰符的时候(即默认),只能访问同一个包中的成员变量和成员函数;
5.接口interface接口中的方法都是抽象方法;
接口中的方法都是pubcli;
一个接口可以实现(implements)多个接口;
一个接口可以继承(extends)多个接口;
6.简单工厂模式一,定义一个接口
二,定义多个类实现这个接口
三,定义一个工厂类,在这个工厂类中定义一个方法,返回值是接口类型。在该方法中判断生成的类的对象赋值给这个接口类型的引用。
四,调用工厂类方法,传入相应的表示,由这个返回接口类型去调用相应类的方法;