Java面向?qū)ο蟮娜筇卣?/h1>
更新時間:2015年06月12日 08:42:51 投稿:hebedich
這篇文章主要給大家結(jié)合相關(guān)示例介紹了Java面向?qū)ο蟮娜筇卣?封裝、繼承、多態(tài),非常的實用,有需要的小伙伴可以參考下。
java面向?qū)ο蟮娜筇卣鳎骸胺庋b、繼承、多態(tài)”。更多Java技術(shù)知識,請登陸瘋狂軟件教育官網(wǎng)。微信搜索微信號:瘋狂軟件,參加2015年優(yōu)惠活動,有機(jī)會獲得優(yōu)惠劵和代金劵。
以本文為例,User類中的變量為私有變量,只能通過創(chuàng)建對象(此時構(gòu)造方法自動調(diào)用)來賦值。
外界只能通過公有方法api()來訪問User類。
Admin類繼承了User類,調(diào)用了其構(gòu)造方法,還重寫了method_1方法,增加了一個特有方法power()。
User文件
public class User {
/**
* 私有變量, 僅限本類訪問
*/
private String name;
private int age;
/**
* 構(gòu)造方法, 自動調(diào)用
*/
public User(String name, int age){
this.name = name;
this.age = age;
}
/**
* 私有方法, 僅限本類訪問
*/
private void method_1(){
System.out.println("i am a " + name + " ; my age is: " + age);
}
/**
* 可被子類繼承、覆蓋和同包調(diào)用
*/
protected void method_2(){
System.out.println("i am not override");
}
/**
* 公有方法,對外接口
*/
public void api() {
method_1();
method_2();
}
}
Admin文件
public class Admin extends User {
/**
* 構(gòu)造方法
*/
public Admin(String name, int age) {
// 使用父類的構(gòu)造方法
super(name, age);
}
/**
* 覆蓋父類的同名方法
*/
protected void method_2() {
System.out.println("NO, you are override");啊
}
/**
* 子類特有方法
*/
public void power(){
System.out.println("admin is powerful");
}
}
Main文件
public class Main{
public static void main(String[] arg) {
// 實例化一個User對象,并調(diào)用User的公有方法
User a = new User("user", 12);
a.api();
// 輸出換行,方便區(qū)分不同的代碼
System.out.println();
// 實例化一個Admin對象,并調(diào)用Admin的兩個方法
Admin admin_me = new Admin("admin", 23);
admin_me.api(); // 繼承自User父類
admin_me.power(); // 自身獨有的方法
System.out.println();
/**
* 多態(tài)性
*/
User test_admin = new Admin("test_admin", 34);
test_admin.api();
// test_admin.power(); // User中沒有聲明power這個方法,所以不能使用
}
}
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關(guān)文章
-
maven插件maven-assembly-plugin打包歸納文件zip/tar使用
java項目運行的文件需要jar或者war格式,同時還需要使用Java命令,本文主要介紹了maven插件maven-assembly-plugin打包歸納文件zip/tar使用,具有一定的參考價值,感興趣的可以了解一下 2024-02-02
-
Java實現(xiàn)Android拼圖游戲設(shè)計過程解析
這篇文章主要介紹了Java實現(xiàn)Android拼圖游戲設(shè)計過程解析,下面文章要接受的這是一款基于 Java 開發(fā)的移動端安卓小游戲,可以作為大家在學(xué)習(xí)期間的一個小練習(xí),接下來和小編一起進(jìn)入文章學(xué)習(xí)具體內(nèi)容吧 2022-02-02
-
詳解Spring整合Quartz實現(xiàn)動態(tài)定時任務(wù)
本篇文章主要介紹了詳解Spring整合Quartz實現(xiàn)動態(tài)定時任務(wù),具有一定的參考價值,感興趣的小伙伴們可以參考一下。
2017-03-03
-
SpringBoot實現(xiàn)動態(tài)加載外部Jar流程詳解
這篇文章主要介紹了SpringBoot動態(tài)加載外部Jar的流程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧 2023-05-05
-
java案例實戰(zhàn)之字符串轉(zhuǎn)換為二進(jìn)制
最近遇到個需求,要求編寫一個程序,從鍵盤錄入一個字符串,將字符串轉(zhuǎn)換為二進(jìn)制數(shù),下面這篇文章主要給大家介紹了關(guān)于java字符串轉(zhuǎn)換為二進(jìn)制的相關(guān)資料,需要的朋友可以參考下 2023-06-06
最新評論
java面向?qū)ο蟮娜筇卣鳎骸胺庋b、繼承、多態(tài)”。更多Java技術(shù)知識,請登陸瘋狂軟件教育官網(wǎng)。微信搜索微信號:瘋狂軟件,參加2015年優(yōu)惠活動,有機(jī)會獲得優(yōu)惠劵和代金劵。
以本文為例,User類中的變量為私有變量,只能通過創(chuàng)建對象(此時構(gòu)造方法自動調(diào)用)來賦值。
外界只能通過公有方法api()來訪問User類。
Admin類繼承了User類,調(diào)用了其構(gòu)造方法,還重寫了method_1方法,增加了一個特有方法power()。
User文件
public class User { /** * 私有變量, 僅限本類訪問 */ private String name; private int age; /** * 構(gòu)造方法, 自動調(diào)用 */ public User(String name, int age){ this.name = name; this.age = age; } /** * 私有方法, 僅限本類訪問 */ private void method_1(){ System.out.println("i am a " + name + " ; my age is: " + age); } /** * 可被子類繼承、覆蓋和同包調(diào)用 */ protected void method_2(){ System.out.println("i am not override"); } /** * 公有方法,對外接口 */ public void api() { method_1(); method_2(); } } Admin文件 public class Admin extends User { /** * 構(gòu)造方法 */ public Admin(String name, int age) { // 使用父類的構(gòu)造方法 super(name, age); } /** * 覆蓋父類的同名方法 */ protected void method_2() { System.out.println("NO, you are override");啊 } /** * 子類特有方法 */ public void power(){ System.out.println("admin is powerful"); } } Main文件 public class Main{ public static void main(String[] arg) { // 實例化一個User對象,并調(diào)用User的公有方法 User a = new User("user", 12); a.api(); // 輸出換行,方便區(qū)分不同的代碼 System.out.println(); // 實例化一個Admin對象,并調(diào)用Admin的兩個方法 Admin admin_me = new Admin("admin", 23); admin_me.api(); // 繼承自User父類 admin_me.power(); // 自身獨有的方法 System.out.println(); /** * 多態(tài)性 */ User test_admin = new Admin("test_admin", 34); test_admin.api(); // test_admin.power(); // User中沒有聲明power這個方法,所以不能使用 } }
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關(guān)文章
maven插件maven-assembly-plugin打包歸納文件zip/tar使用
java項目運行的文件需要jar或者war格式,同時還需要使用Java命令,本文主要介紹了maven插件maven-assembly-plugin打包歸納文件zip/tar使用,具有一定的參考價值,感興趣的可以了解一下2024-02-02Java實現(xiàn)Android拼圖游戲設(shè)計過程解析
這篇文章主要介紹了Java實現(xiàn)Android拼圖游戲設(shè)計過程解析,下面文章要接受的這是一款基于 Java 開發(fā)的移動端安卓小游戲,可以作為大家在學(xué)習(xí)期間的一個小練習(xí),接下來和小編一起進(jìn)入文章學(xué)習(xí)具體內(nèi)容吧2022-02-02詳解Spring整合Quartz實現(xiàn)動態(tài)定時任務(wù)
本篇文章主要介紹了詳解Spring整合Quartz實現(xiàn)動態(tài)定時任務(wù),具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03SpringBoot實現(xiàn)動態(tài)加載外部Jar流程詳解
這篇文章主要介紹了SpringBoot動態(tài)加載外部Jar的流程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-05-05java案例實戰(zhàn)之字符串轉(zhuǎn)換為二進(jìn)制
最近遇到個需求,要求編寫一個程序,從鍵盤錄入一個字符串,將字符串轉(zhuǎn)換為二進(jìn)制數(shù),下面這篇文章主要給大家介紹了關(guān)于java字符串轉(zhuǎn)換為二進(jìn)制的相關(guān)資料,需要的朋友可以參考下2023-06-06