修饰符访问规则:
final修饰符的作用:
修饰方法代表该方法不能被重写,修饰变量代表变量不能被重新赋值,要注意的是基本类型的变量是指的变量的值不能被修改,而引用类型的变量是指地址值不能被更改。修饰类的时候代表该类不能被继承。
static修饰符的作用:
static修饰的成员变量代表被类中的所有对象所共享,推荐使用类名进行调用,静态的成员方法只能访问静态的成员。
多态的访问特点:
成员变量:运行和编译都看父类。
成员方法:编译看父类,运行看子类。
多态中的向下转型:
子类名 对象名 = (子类名)父类引用;
代码测试:
动物类定义:
package DuoTai;
public class Animal {
String name;
int age;
public Animal() {
}
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void eat(){
System.out.println("动物吃东西");
}
}
猫类定义:
package DuoTai;
public class Cat extends Animal {
public Cat() {
}
public Cat(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println("猫吃鱼");
}
}
测试类:
package DuoTai;
public class Demo {
public static void main(String[] args) {
Animal s = new Cat();
s.setName("Tom");
s.setAge(7);
System.out.println(s.getAge()+","+s.getName());
s.eat();
Cat a = (Cat)s;
a.setName("TOM");
a.setAge(8);
System.out.println(a.getAge()+","+a.getName());
a.eat();
}
}
刚开始学多态的时候感觉云里雾里的,不知道这个有什么用,但测试代码敲过一遍后大概就明白了。