总结:老师真是的。讲课的时候,觉得打的比喻特别有趣,结果啊不晓得他是良苦用心。知识就是包含在里面
继承;子类继承父类,子类就可以把父类的东西拿来用
这体现在程序运行时,你会发现,子类对象可以调用父类的方法,自动导入的。但是我仍然难以理解
package com.sl;
//父类
public class Flower {
protected static String name;
protected static int age;
public Flower(String a, int b) {
name = a;
age = b;
}
public Flower() {
}
public void run() {
System.out.println("我叫:" + name + ";年龄是:" + age);
}
}
package com.sl;
public class Person extends Flower {
private String color;
private String sex;
public Person() {// /子类继承父类的属性
super("zhangsan", 32);// 子类构造方法继承父类的//调用父类的有参构造方法
color = color;
sex = sex;
// TODO Auto-generated constructor stub
}
public Person(String a, String b) {
super(name, age);
this.sex = a;
this.color = b;
}
public void read() {
System.out.println("我是子类我继承了父类Flower");
}
public void say() {
System.out.println("我的性别是:" + sex + "我喜欢的颜色:" + color);
}
}
package com.sl;
public class Test {
public static void main(String[] args) {// read(),say()
Person p = new Person("男", "orange");// 子类调用有参构造方法时,其实也调用了父类的方法
Flower f = new Flower();
p.name = "cc";// 这里子类可以调用父类的方法,子类没有run方法,但这里有,说明子类继承了父类的方法
p.age = 23;
p.run();// 子类可以调用父类的方法,和属性,子类可以把父类的东西拿来用
p.read();// /子类可以把父亲的东西拿来用
p.say();
// f.run();//在子类里,子类对象方法自动导入了父类的所有属性,方法,
// f.run();
// 我要调用父类的方法
// flower类的
}
}