继承inheritance:
class A extends B{}
- A:子类、派生类、subclass
- B:父类、超类、基类、superclass
子类不能继承父类中私有private的成员变量和方法
只支持单继承(一父一子)和多层继承(一父多子)
所有的java类(除java.lang.Object类之外)都直接或间接的继承于java.lang.Object类
假设父类和子类都在同一个包下:
点击查看**父类Parent**代码
public class Parent {
private int f1 = 1;
int f2 = 2;
protected int f3 = 3;
public int f4 = 4;
private void fm1() {System.out.println("in fm1() f1="+ f1); }
void fm2() {System.out.println("in fm2() f2="+ f2); }
protected void fm3() {System.out.println("in fm3() f3="+f3); }
public void fm4() {System.out.println("in fm4() f4="+ f4); }
}
点击查看**子类Child**代码
public class Child extends Parent {
private int c1 = 21;
public int c2 = 22;
private void cm1(){ System.out.println("in cm1() c1="+ c1); }
public void cm2(){ System.out.println("in cm2() c2="+ c2); }
public static void main(String[]args) {
int i;
Parent p = new Parent();
i = p.f2; //i = p.f3; i = p.f4;
p.fm2();
Child c = new Child();
i = c.f2; //i = c.f3;i = c.f4;
i = c.c1; //i = c.c2;
c.cm1(); // c.cm2();c.fm2(); c.fm3(); c.fm4()
}
}
方法重写(override/overwrite)重置覆盖
因为static的方法是属于类的,子类无法覆盖父类的方法,同时声明为static的不是重写!
浙公网安备 33010602011771号