1. 程式人生 > >java中abstract,public,protected,private以及不寫作用域的時候在繼承關係中的呼叫

java中abstract,public,protected,private以及不寫作用域的時候在繼承關係中的呼叫

1、父類是用abstract修飾的抽象類

一、用abstract修飾的類叫做抽象類,用abstract修飾的方法叫做抽象方法,如果一個類中有抽象方法,那麼這個類必須定義為抽象類,抽象類不能被例項化,只能用來被繼承

二、抽象方法沒有方法體,如果一個類繼承了抽象類,那麼必須重寫抽象方法。抽象類中可以有抽象方法,也可以有非抽象。子類可以不加引用的方式直接呼叫父類的public、protected,以及不寫作用域的方法。

animal.java

public abstract class Animal {
public abstract void shout();
public void getServletRequest()
    {
    };
    protected void getServletRequest1()
    {
    };
    private void getServletRequest2()
    {
    };
    void getServletRequest3()
    {
    };
}

cat.java

public class Cat extends Animal {


@Override
public void shout() {
getServletRequest();
getServletRequest1();
//getServletRequest2();
getServletRequest3();
System.out.println("貓在叫。。。。");
}

}

2、父類是用public修飾的

一、父類中不能出現抽象方法,子類可以不加引用的方式直接呼叫父類的public、protected,以及不寫作用域的方法。 animal.java public  class Animal {
//public abstract void shout();
public void getServletRequest()
    {
    };
    protected void getServletRequest1()
    {
    };
    private void getServletRequest2()
    {
    };
    void getServletRequest3()
    {
    };
}
cat.java public class Cat extends Animal {


//@Override
public void shout() {
getServletRequest();
getServletRequest1();
//getServletRequest2();
getServletRequest3();
System.out.println("貓在叫。。。。");
}

}

3.父類不能用protected,privavte修飾

一、如果類可以使用private來修飾,表示該包下的這個類不能被其它類訪問,那麼該類也失去了存在的意義,所以不能使用private來修飾類。
二、如果類可以使用protected來修飾,表示該類所在的包的其它類可以訪問該類;該類所在的包的子包的類可以訪問該類,但是包沒有繼承的概念,所以後一句是不對。所以用protected來修飾類也是沒有意義的

4.不寫作用域的父類

一、父類中不能出現抽象方法,子類可以不加引用的方式直接呼叫父類的public、protected,以及不寫作用域的方法。

animal.java

class Animal {
//public abstract void shout();
public void getServletRequest()
    {
    };
    protected void getServletRequest1()
    {
    };
    private void getServletRequest2()
    {
    };
    void getServletRequest3()
    {
    };
}

cat.java

public class Cat extends Animal {


//@Override
public void shout() {
getServletRequest();
getServletRequest1();
//getServletRequest2();
getServletRequest3();
System.out.println("貓在叫。。。。");
}

}

5.final修飾的類不能被繼承

6.介面只能有public&friendly&abstract修飾 7.介面只能extends介面,不能繼承類,或implements介面