一、 子父类成员特点
成员:
1.成员变量
2.函数
3.构造函数
变量:
this 代表当前对象的引用 this.变量 首先在本类中找所需要的这个变量,
如果没有找到再从父类中找。
super 用于访问当前对象的父类成员,super.变量 直接在父类中找所需变量
class Person{
String name="张三";
}
class Student extends Person{
String name="李四";
void show(){
System.out.println(super.name)//访问父类
}
}
public classA6_20{
public static void main(String[] args){
Student stu=new Student();
stu.show();
}
}
二、子父类中的函数
当子类中出现和父类中一样的函数时,当子类对象调用该函数,
运行的是子类中的函数,如同父类中的函数被覆盖了一样,
这种情况就是函数的另一种特性:重写(覆盖)
注意:
1.子类覆盖父类时,必须要保证子类权限大于等于父类,才可以覆盖,否则编译出错。
访问权限修饰符:public〉default〉private 成员前面没加任何访问权限修饰符
默认权限就是default
2.静态的函数只能覆盖静态的
记住:
重载:只看同名的方法的参数列表
重写:字父类方法要一模一样
calss Animal{
String Type;
public void run(){
System.out.println("跑步中");
}
}
class Cat extends Animal{
}
class Dog extends Animal{
public void run(String){
Type="大黄狗";
System.out.println(Type+"哼着歌跑步中");
return "ff";
}
}
public class A6_21{
public static void main(String[] args){
Cat C=new Cat;
C.run();
Dog d=new Dog;
d.run();
}
}