超类: 父类
引用变量: A a =new A(); a就是引用变量(变量a的值就是它从A中所引用的一个对象的地址)
抽象类: 有些类不应该被初始化,比如dog和cat的父类anmal,它就是用来抽象概括的. 为了防止它被初始化(new出来) 加上abstract,
抽象方法的意思就是概括子类都能用到的方法
多态:
多态是同一个行为具有多个不同表现形式或形态的能力。
多态就是同一个接口,使用不同的实例而执行不同操作。
一般创建一个对象我们是 Dog myDog = new Dog(); 这个变量myDog 为Dog 类型 我们也可以这样: Animal myDog = new Dog();
这样做的用处之一:
1 Animal [] animals = newAnimal[5]; 2 animals[0] = new Dog(); 3 animals[1] = new cat(); 4 5 //假如我们已经写好了eat方法 6 animals[0].eat() //狗叫 7 animal[2].eat() //猫叫
重写: 对父类的方法进行重写,但是不能添加新的方法(声明的是父类 类型的情况)
重载: 例如 在一个类中,我们写的test(a)有一个参数 在这个类中还写test(a,b) 里面有两个参数,这就叫重载(不涉及子类 父类啥的)
重载构造函数, 编译器看的是参数的类型和顺序而不是参数的名字,所以参数相同,但是顺序不同的两个构造函数是两个不同的函数
修饰符: 例如 public private ....这些就是修饰符
构造方法: new一个对象的时候 要初始化这个对象 还可以在构造方法中写get set方法来设置对象的属性
this: 使用this()来从某个构造函数调用同一个h类的另外一个构造函数
this()只能用在构造函数中,且必须是第一行语句,所以这样也和super()冲突,它俩不能同时使用