接昨天
1、修饰符
static:
static 关键字是静态的意思,可以修饰成员方法,成员变量
static 修饰的特点
· 被类的所有对象共享
这也是我们判断是否使用静态关键字的条件
·可以通过类名调用
(推荐使用类名调用)
static访问特点:
非静态的成员方法:
· 能访问静态的成员变量
· 能访问非静态的成员变量
· 能访问静态的成员方法
· 能访问非静态的成员方法
静态的成员方法:
· 能访问静态的成员变量
· 能访问静态的成员方法
总结成一句话就是:静态成员方法只能访问静态成员
二、多态
1、概述:
同一个对象在不同时刻表现出来的不同形态
比如:
猫 cat = new 猫();
动物 animal = new 猫(); (猫在不同时刻表现出来了不同的形态,这就是多态)
2、前提和体现
· 有继承/实现关系
· 有方法重写
· 有父类引用指向子类对象 (比如:animal = new 猫(); )
3、范例
在同一个包下:
// 父类
public class animal {
public void eat() {
System.out.priintln("动物吃东西");
}
}
// 子类 (有继承/实现关系)
public class cat extends animal {
//方法重写
@Override
public void eat() {
System.out.println("猫吃鱼");
}
}
// 测试类
public class animalDemo {
public static void main(String[] args) {
//有父类引用指向子类对象
animal a = new cat();
}
}
4、多态中成员访问特点
· 成员变量:编译看左边,执行看左边
· 成员方法:编译看左边,执行看右边
为什么成员变量和成员方法的访问不一样呢?
因为成员方法有重写,而成员变量没有
5、多态的好处和弊端
· 多态的好处:提高了程序的扩展性
具体体现:定义方法的时候,使用父类作为参数,将来在使用的时候,使用具体的子类 型参与操作
· 多态的弊端:不能使用子类的特有功能



