总结:老师真是的。讲课的时候,觉得打的比喻特别有趣,结果啊不晓得他是良苦用心。知识就是包含在里面
继承;子类继承父类,子类就可以把父类的东西拿来用
这体现在程序运行时,你会发现,子类对象可以调用父类的方法,自动导入的。但是我仍然难以理解
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类的 } }