1.[General]描述一下OOP
Object Oriented Programming,封装,将对象的属性和行为封装起来,其载体就是类,类通常对客户隐藏实现细节
继承:
封装(Encapsulation):定义对象和操作,只提供抽象的接口,并隐藏它们的具体实现。
2.Overriding ,overloading
override重写:1.重写只能出现在继承关系之中。当一个类继承它的父类方法时,都有机会重写该父类的方法。一个特例是父类的方法被标识为final。重写的主要优点是能够定义某个子类型特有的行为。
2.对于从父类继承来的抽象方法,要么在子类用重写的方式设计该方法,要么把子类也标识为抽象的。所以抽象方法可以说是必须要被重写的方法。
3.一个原则是:使用了什么引用,编译器就会只调用引用类所拥有的方法。如果调用子类特有的方法,如上例的h.buck(); 编译器会抱怨的(编译错误)。也就是说,编译器只看引用类型,而不是对象类型。
重写的规则:子类的范围不能比父类的大,参数,返回值,若是final不能重写.异常范围不能大
overloading重载
最最常用的地方就是构造器的重载。重载是友好的,它不要求你在调用一个方法之前转换数据类型,它会自动地寻找匹配的方法。方法的重载是在编译时刻就决定调用哪个方法了,和重写不同
class Animal {}
class Horse extends Animal{}
//只表明关系
public class Test {
//静态方法method
static void method(Animal a){
System.out.println ("Animal is called.");
}