java类的覆盖

java 中子类继承父类的行为,也可以根据自己的个性覆盖父类的方法。父类可以覆盖的方法

具备2大特点:

1、该方法可被子类访问。

2、该方法为非静态的。

(1)

public class Book {

void print(){
System.out.println("book");
}

}

public class CourseBook extends Book{

void print(){
System.out.println("Course book");
}
}

编译通过,子类CourseBook的print()被覆盖。

(2)

public class Book {

static void print(){
System.out.println("book");
}

}

public class CourseBook extends Book{

void print(){
System.out.println("Course book");
}
}

编译不通过,因为子类不能覆盖父类的静态方法。

(3)

public class Book {

void print(){
System.out.println("book");
}

}

public class CourseBook extends Book{

static void print(){
System.out.println("Course book");
}
}

编译不通过,子类静态方法不能覆盖父类的方法。

(4)

public class Book {

static void print(){
System.out.println("book");
}

}

public class CourseBook extends Book{

static void print(){
System.out.println("Course book");
}
}

编译通过,父类的静态方法被隐藏。

posted @ 2017-06-04 20:02  williamcai  阅读(606)  评论(0)    收藏  举报