java继承总结_java继承总结(二)
java學習筆記
1.繼承
關鍵字:
extends
在 Java 中,類的繼承是單一繼承,也就是說,一個子類只能擁有一個父類,所以extends只能繼承一個類.
eg:
public class Penguin ?extends ?Animal
{
}
implements
使用 implements 關鍵字可以變相的使java具有多繼承的特性,使用范圍為類繼承接口的情況,可以同時繼承多個接口(接口跟接口之間采用逗號分隔)。
eg :
public interface A {
public void eat();
public void sleep();
}
public interface B {
public void show();
}
public class C implements A,B {
}
2.super 與 this 關鍵字
super關鍵字:我們可以通過super關鍵字來實現對父類成員的訪問,用來引用當前對象的父類。
this關鍵字:指向自己的引用。
3.?final關鍵字
final 關鍵字聲明類可以把類定義為不能繼承的,即最終類;或者用于修飾方法,該方法不能被子類重寫:
聲明類:
final class 類名 {//類體}
聲明方法:
修飾符(public/private/default/protected) final 返回值類型 方法名(){//方法體}
4.構造器
子類不能繼承父類的構造器(構造方法或者構造函數),但是父類的構造器帶有參數的,則必須在子類的構造器中顯式地通過super關鍵字調用父類的構造器并配以適當的參數列表。
如果父類有無參構造器,則在子類的構造器中用super調用父類構造器不是必須的,如果沒有使用super關鍵字,系統會自動調用父類的無參構造器。
實例
class SuperClass {
private int n;
SuperClass(){
System.out.println("SuperClass()");
}
SuperClass(int n) {
System.out.println("SuperClass(int n)");
this.n = n;
}
}
class SubClass extends SuperClass{
private int n;
SubClass(){
super(300);
System.out.println("SubClass");
}
public SubClass(int n){
System.out.println("SubClass(int n):"+n);
this.n = n;
}
}
public class TestSuperSub{
public static void main (String args[]){
SubClass sc = new SubClass();
SubClass sc2 = new SubClass(200);
}
}
輸出結果為:
SuperClass(int n)
SubClass
SuperClass()
SubClass(int n):200
修飾符
default(即缺省,什么也不寫):在同一包內可見,不使用任何修飾符。使用對象:類、接口、變量、方法。
private?: 在同一類內可見。使用對象:變量、方法。 注意:不能修飾類(外部類)
public: 對所有類可見。使用對象:類、接口、變量、方法
protected?: 對同一包內的類和所有子類可見。使用對象:變量、方法。 注意:不能修飾類(外部類)。
1.聲明為私有訪問類型的變量只能通過類中公共的 getter 方法被外部類訪問。2.Private 訪問修飾符的使用主要用來隱藏類的實現細節和保護類的數據。
3.如果幾個相互訪問的 public 類分布在不同的包中,則需要導入相應 public 類所在的包。由于類的繼承性,類所有的公有方法和變量都能被其子類繼承。
4.被聲明為 protected 的變量、方法和構造器能被同一個包中的任何其他類訪問,也能夠被不同包中的子類訪問。
protected 訪問修飾符不能修飾類和接口,方法和成員變量能夠聲明為protected,但是接口的成員變量和成員方法不能聲明為protected。
子類能訪問 protected 修飾符聲明的方法和變量,這樣就能保護不相關的類使用這些方法和變量。
父類中聲明為 public 的方法在子類中也必須為public。
父類中聲明為 protected 的方法在子類中要么聲明為protected,要么聲明為public,不能聲明為private。
父類中聲明為 private 的方法,不能夠被繼承。
非訪問修飾符
為了實現一些其他的功能,Java 也提供了許多非訪問修飾符。
static 修飾符,用來修飾類方法和類變量。
final 修飾符,用來修飾類、方法和變量,final 修飾的類不能夠被繼承,修飾的方法不能被繼承類重新定義,修飾的變量為常量,是不可修改的。
abstract 修飾符,用來創建抽象類和抽象方法。
synchronized 和volatile修飾符,主要用于線程的編程。
總結
以上是生活随笔為你收集整理的java继承总结_java继承总结(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java源码 1.8_Java源码下载和
- 下一篇: mysql5.1编译安装centos7_