韩世雷程序员 2019-06-21
有些书吧,看第一页就会发现作者跟自己是一类人呢,这算是翻看《Thinking in Java》的第一印象了,那么抽象的描述,但是自己第一眼就喜欢上了,看来我选择做程序员这条路果然是对的,总算找到同类了。
事物存在的多种形态
该部分值得再看看视频(09-02、09-03)
成员变量(勿论静态还是非静态)
编译看左边(父类),运行看左边(父类)。
非静态成员方法
编译看左边(父类),运行看右边(子类)。【动态绑定】
静态成员方法
编译看左边(父类),运行看左边(父类)。
多态中,先向上转型,才能向下转型。
Animal a = new Dog();//向上转型 Dog b = (Dog)a;//向下转型
弊端
好处
instanceof使用方法

当你无法描述一个方法时,将它定义为抽象的.
abstract不能和哪些关键字共存?
从广义角度:对外提供规则的都是接口。【USB接口的例子举的精辟!!!另外老师关于一流公司卖规则、二流公司卖品牌、三流公司卖服务的观点超有启发性!!!解答了我的一个编程外的疑问!!!谢谢!!!】
接口的子类
类与类
类与接口
接口与接口
抽象类
接口
同9-18
区分继承(泛化)、实现、依赖、关联、聚合、组合
区分is-a(继承关系)、has-a(组合关系)、like-a(聚合关系)
package test_heima_08;
public class Test_Demo06 {
public static void main(String[] args){
Dog a = new Dog("mm",18);
System.out.println(a.getName() + a.getAge());
}
}
class Animal{
private String name = "kk";
private int age = 60;
public Animal(){
}
public Animal(String name,int age){
this.name = name;
this.age = age;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
}
class Dog extends Animal{
public Dog(){
}
public Dog(String name,int age){
super(name,age);
}
}