//extends 继承 Student 扩展 People 类
//java 中使用extends 关键描述继承关系
//extends 前面为子类(当前类)后面的父类(基类)
//子类默认拥有父类定义的属性和方法
//当前类Student 拥有的属性和方法为当前子类定义
// 的属性和方法加上父类的属性和方法
public class Student extends People{
public void method(){
//自己没有定义name,因此从继承类即父类中拿过来的name
System.out.println(this.name);
System.out.println(super.name);
this.study();
super.eat();
}
public void study(){
System.out.println(name+“正在学习…”);
}
}
= 表示赋值
== 表示相等
if 语句后面如果没有大括号,此时if对应的代码就是紧挨着语句的下一行
类别抽象
//类别抽象(将类的相同属性和方法抽出来)
public class People {
public String name;
public String sex;
public int age;
// 方法定义(包含访问修饰符 返回值类型 方法名 参数)方法签名
//子类覆盖父类的方法(方法重写) 注意:方法重写区别于方法重载
public void eat(){
System.out.println(name+“正在吃饭…”);
}
//方法覆盖指的是方法名一样(方法定义一样)
}
//重写:是在两个类中,且在父子类中
//一定是存在继承关系的类 子类定义了和父类方法相同的方法签名
//重写的作用 :增加更多的功能(子类和父类具有相同的行为,但是实验细节不同)
//重载:在同一类之中
public class Test {
public static void main(String[] args) {
User user = new User();
user.name = “郑洪”;
user.eat();
//this(this.属性 this.方法 this())
//this(当局部变量和全局变量重复时)
//局部变量会把全局变量覆盖
//this,name 一定是全局变量的name
//super
//super(super.属性 super.方法())
//super访问的是父类的属性和方法
//特殊情况:如果子类没有重复定义和父类一致的属性和方法
//this.属性和this.方法与super.属性和super.方法一致
//如果子类重新 定义了和父类一样的属性和方法(this就是当前子类自己定义的属性和方法)
//而super就是指父类的原来的属性和方法
//子类可以定义与父类一致的方法(子类覆盖父类中的方法)
Student s = new Student();
s.name = "zhenghong";
s.study();
s.method();
}
}

被折叠的 条评论
为什么被折叠?



