您好,登錄后才能下訂單哦!
這篇文章主要介紹“java中的面向對象實例講解”,在日常操作中,相信很多人在java中的面向對象實例講解問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”java中的面向對象實例講解”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
一、繼承
示例:
二、重載
三、接口
1、接口與類相似點:
2、接口與類的區別:
3、語法
四、枚舉
1、定義
2、迭代枚舉元素
3、在 switch 中使用枚舉類
繼承就是子類繼承父類的特征和行為,使得子類對象(實例)具有父類的實例域和方法,或子類從父類繼承方法,使得子類具有父類相同的行為
本章就以人、學生、老師作為例子。學生和老師都繼承人這個對象,都有人的特征和行為,人就是父類,老師和學生就是子類
人類:
package com.zhouzy.base.t7; public class Person { private String name; private String sex; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public void action(Person p){ System.out.println("這是人的行為"); System.out.println("person的名字:"+p.getName()); } }
學生:
package com.zhouzy.base.t7; public class Student extends Person{ /** * 這就是重寫 */ @Override public void action(Person p){ System.out.println("這是學生的行為"); System.out.println("Student的名字:"+p.getName()); //繼承了父類的屬性 } }
老師:
package com.zhouzy.base.t7; public class Teacher extends Person{ @Override public void action(Person p){ System.out.println("這是老師的行為"); System.out.println("Teacher的名字:"+p.getName()); } }
測試:
package com.zhouzy.base.t7; import org.junit.Test; public class ObjectTest { @Test public void extendsTest(){ Person p1 = new Student(); p1.setName("張三"); p1.action(p1); Person p2 = new Teacher(); p2.setName("劉老師"); p2.action(p2); } }
結果:
這是學生的行為
Student的名字:張三
這是老師的行為
Teacher的名字:劉老師
重載是在一個類里面方法名相同,但返回值或者參數類型或個數不同,比如
private String testOverload(){ return "Overload"; } private String testOverload(String param){ return "Overload"; } private void testOverload(int param){ System.out.println(param); } private String testOverload(String param1,String param2){ return "Overload"; }
重寫和重載是java多態的一種體現
接口(英文:Interface),在JAVA編程語言中是一個抽象類型,是抽象方法的集合,接口通常以interface來聲明。一個類通過繼承接口的方式,從而來繼承接口的抽象方法。
接口并不是類,編寫接口的方式和類很相似,但是它們屬于不同的概念。類描述對象的屬性和方法。接口則包含類要實現的方法。
除非實現接口的類是抽象類,否則該類要定義接口中的所有方法。
接口無法被實例化,但是可以被實現。一個實現接口的類,必須實現接口內所描述的所有方法,否則就必須聲明為抽象類。另外,在 Java 中,接口類型可用來聲明一個變量,他們可以成為一個空指針,或是被綁定在一個以此接口實現的對象。
一個接口可以有多個方法。
接口文件保存在 .java 結尾的文件中,文件名使用接口名。
接口的字節碼文件保存在 .class 結尾的文件中。
接口相應的字節碼文件必須在與包名稱相匹配的目錄結構中。
接口不能用于實例化對象。
接口沒有構造方法。
接口中所有的方法必須是抽象方法,Java 8 之后 接口中可以使用 default 關鍵字修飾的非抽象方法。
接口不能包含成員變量,除了 static 和 final 變量。
接口不是被類繼承了,而是要被類實現。
接口支持多繼承。
[可見度] interface 接口名稱 [extends 其他的接口名] { // 聲明變量 // 抽象方法 }
示例:
package com.zhouzy.base.t2; public interface Car { public void move(); }
實現接口的類,必須實現接口里面的方法
package com.zhouzy.base.t2; public class Baoma implements Car{ @Override public void move() { System.out.println("我是寶馬,時速最高200公里每小時,牛擦吧!"); } }
Java 枚舉是一個特殊的類,一般表示一組常量,比如一年的 4 個季節,一個年的 12 個月份,一個星期的 7 天,方向有東南西北等。
Java 枚舉類使用 enum 關鍵字來定義,各個常量使用逗號 , 來分割。
例如定義一個顏色的枚舉類。
enum Color { RED, GREEN, BLUE; }
示例:
enum Color { RED, GREEN, BLUE; } public class Test { // 執行輸出結果 public static void main(String[] args) { Color c1 = Color.RED; System.out.println(c1); } }
結果:
RED
enum Color { RED, GREEN, BLUE; } public class MyClass { public static void main(String[] args) { for (Color myVar : Color.values()) { System.out.println(myVar); } } }
結果:
RED
GREEN
BLUE
enum Color { RED, GREEN, BLUE; } public class MyClass { public static void main(String[] args) { Color myVar = Color.BLUE; switch(myVar) { case RED: System.out.println("紅色"); break; case GREEN: System.out.println("綠色"); break; case BLUE: System.out.println("藍色"); break; } } }
結果:
藍色
到此,關于“java中的面向對象實例講解”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。