日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c 子类对象 访问父类对象受保护成员_java面向对象总结

發布時間:2024/8/23 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c 子类对象 访问父类对象受保护成员_java面向对象总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:文章參考《java瘋狂講義》進行總結和歸納,知識要進行輸出才算真正的有用。

在java的世界里,一切皆為對象,類是對對象的抽象,來一個例子:Person類

public

有了類,就可以創建者個類的對象了,語法如下:

Person p1 = new Person("tom",9,"Beijing");//創建對象 p1.eat();//調用方法

java的三個特點是:繼承、封裝、多態,都是和面向對象有關系的,下面進行解釋

1 繼承

繼承就是子類繼承父類的特征和和行為,使得子類對象(實例)具有父類的實例域和方法,還可以以此基礎添加新方法和域來滿足需求,舉個例子:

Person類是父類,那么Student類是子類(學生是人,滿足is-a關系),java規定一個子類只能擁有一個父類,子類對象實例化時一定先實例化父類對象。

public class Person{//父類}//子類繼承父類 public class Student extents Person{}

特點:提高代碼復用性、父類的屬性方法可以用于子類、 可以輕松的定義子類、 使設計應用程序變得簡單。

注意事項:只支持單繼承,即一個子類只允許有一個父類,但是可以實現多級繼承,及子類擁有唯一的父類,而父類還可以再繼承。? 子類可以擁有父類的屬性和方法。? 子類可以擁有自己的屬性和方法。? 子類可以重寫覆蓋父類的方法。

繼承的使用:

a,直接通過子類對象訪問成員變量

? 等號左邊是誰,就優先使用誰,如果沒有就向上找。

b,間接通過成員方法訪問成員變量

該方法屬于誰,誰就優先使用,如果沒有就向上找。

public class FU {int numFU = 10;int num = 100;public void method(){System.out.println("父類成員變量:"+numFU);}public void methodFU(){System.out.println("父類成員方法!");} } public class Zi extends FU{int numZi = 20;int num = 200;public void method(){System.out.println("子類成員變量:"+numFU);}public void methodZi(){System.out.println("子類方法!");} } public class ExtendDemo {public static void main(String[] args) {FU fu = new FU();// 父類的實體對象只能調用父類的成員變量System.out.println("父類:" + fu.numFU); // 結果:10Zi zi = new Zi();System.out.println("調用父類:" + zi.numFU); // 結果:10System.out.println("子類:" + zi.numZi); // 結果:20/** 輸出結果為200,證明在重名情況下,如果子類中存在則優先使用,* 如果不存在則去父類查找,但如果父類也沒有那么編譯期就會報錯。*/System.out.println(zi.num); // 結果:200/*** 通過成員方法調用成員變量*/zi.method(); // 結果:10} }

?成員方法也是一樣的,創建的對象是誰,就優先使用誰,如果沒有則直接向上找。

注意事項:? 無論是成員變量還是成員方法,如果沒有都是向上父類中查找,絕對不會向下查找子類的

在繼承關系中,關于成員變量的使用:?

局部成員變量:直接使用

本類成員變量:this.成員變量

父類成員變量:super.父類成員變量

2 封裝

封裝(Encapsulation)是面向對象方法的重要原則,就是把對象的屬性和操作(或服務)結合為一個獨立的整體,并盡可能隱藏對象的內部實現細節。

特點:對成員變量實行更準確的控制,封裝可以隱藏內部程序實現的細節,良好的封裝能夠減少代碼之間的耦合度,外部成員無法修改已封裝好的程序代碼,方便數據檢查,有利于保護對象信息的完整性,同時也提高程序的安全性,便于修改,體高代碼的可維護性

使用:使用private修飾符,表示最小的訪問權限;對成員變量的訪問,統一提供setXXX,getXXX方法

public class Student implements Serializable {private Long id;private String name;private Integer sex;public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getSex() {return sex;}public void setSex(Integer sex) {this.sex = sex;} }

3 多態

多態是同一個行為具有多個不同表現形式或形態的能力。

特點:消除類型之間的耦合關系,實現低耦合;靈活性;? 可擴充性;? 可替換性

使用:

public class MultiDemo {public static void main(String[] args) {// 多態的引用,就是向上轉型Animals dog = new Dog();dog.eat();Animals cat = new Cat();cat.eat();// 如果要調用父類中沒有的方法,則要向下轉型Dog dogDown = (Dog)dog;dogDown.watchDoor();}}class Animals {public void eat(){System.out.println("動物吃飯!");}}class Dog extends Animals{public void eat(){System.out.println("狗在吃骨頭!");}public void watchDoor(){System.out.println("狗看門!");}}class Cat extends Animals{public void eat(){System.out.println("貓在吃魚!");}}

向上轉型:1,格式:父類名稱 對象名 = new 子類名稱();

含義:右側創建一個子類對象,把它當作父類來使用。

注意:向上轉型一定是安全的。 缺點:一旦向上轉型,子類中原本特有的方法就不能再被調用了。

總結

以上是生活随笔為你收集整理的c 子类对象 访问父类对象受保护成员_java面向对象总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。