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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java 创建一个抽象类_Java-抽象类

發布時間:2023/12/15 java 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 创建一个抽象类_Java-抽象类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

抽象類

含有抽象方法的類就是抽象類

1) 抽象方法:該方法有返回值,有參數,就是沒有方法體,該方法沒有方法實現

2) 抽象方法的格式:

abstract 返回值類型 方法名(參數列表);

3) 抽象類需要靠子類來重寫抽象方法,以實現其功能

public classTest1 {//抽象類:含有抽象方法的類//抽象方法:沒有方法體的方法

public static voidmain(String[] args) {

Taxi taxi=newTaxi();

taxi.name="出租車";

taxi.start();

taxi.run();

taxi.stop();

}

}//定義一個抽象類Car:屬性:名字,價格,速度//方法:啟動,運行,剎車,全是抽象方法

abstract classCar{

String name;doubleprice;intspeed;public abstract voidstart();public abstract voidrun();public abstract voidstop();

}class Taxi extendsCar{//抽象類是依靠子類,來實現其功能(子類重寫抽象方法)

public voidstart() {

System.out.println(name+"行駛");

}public voidrun() {

System.out.println(name+"啟動");

}public voidstop() {

System.out.println(name+"剎車");

}

}

4) 抽象類不能直接實例化(創建對象)

public classTest1 {public static voidmain(String[] args) {//Foo1 foo1=new Foo1();---報錯

}

}abstract classFoo1{abstract voidshow();

}

5) 可以使用抽象類聲明一個對象,然后利用該抽象類的子類來創建對象

格式:抽象類 對象名-->定義對象

對象名=new 子類構造方法-->創建對象

抽象名 對象名=new 子類構造方法

public classTest1 {public static voidmain(String[] args) {

Koo1 koo1=new Koo2(); //抽象類名(父類) 對象名=new 子類的構造方法

koo1.show();

}

}abstract class Koo1{//父類---聲明(定義)對象

public abstract voidshow();

}class Koo2 extends Koo1{//子類---創建對象

public voidshow() {

System.out.println("昨天下雨了");

}

}

6) 父類聲明指向子類引用

格式:父類 對象=new 子類的構造方法

編譯時(javac)?????????? 運行時(java)

用這種方式創建的對象,可以訪問父類的除重寫以外所有的方法,可以訪問子類重寫父類的方法

唯一不能做的事,就是訪問子類獨有的方法

public classTest1 {public static voidmain(String[] args) {

Eoo eoo=newEoo2();

eoo.show();//訪問子類中重寫父類的方法

eoo.print();//父類中的普通方法//eoo.speak();---報錯//不能訪問子類獨有的方法

}

}classEoo{voidshow(){

System.out.println("今天是個好天氣");

}voidprint(){

System.out.println("今天是周一");

}

}class Eoo2 extendsEoo{voidshow(){

System.out.println("天氣好好");//重寫

}void speak(){//子類獨有的方法

System.out.println("說話");

}

}

7) 抽象類跟一般類是一樣的,只是抽象類含有抽象方法(沒有方法體的方法)

抽象類需要靠子類來重寫所有的抽象方法,以實現其功能

創建對象:

1.直接使用子類來聲明和創建對象

2.父類聲明指向子類的對象

public classTest1 {public static voidmain(String[] args) {

Person person=new Worker("張",23,"男",5000);

person.print();

person.show();

}

}//設計Person類型,屬性:姓名,年齡,性別//構造方法:1.空參的構造方法//2.帶(姓名,年齡,性別)的構造方法//方法:show():顯示姓名,年齡屬性//抽象方法print();//設計Worker類型,屬性:姓名,性別,年齡,工資//構造方法:給所有的屬性賦值//方法:重寫print()方法,顯示該對象所有的屬性//

abstract classPerson{

String name;intage;

String sex;

Person(){}

Person(String name,intage,String sex){this.name=name;this.age=age;this.sex=sex;

}voidshow(){

System.out.println(name+","+age);

}public abstract voidprint();

}class Worker extendsPerson{doublesalary;

Worker(String name,int age,String sex,doublesalary){super(name,age,sex);this.salary=salary;

}public voidprint() {

System.out.println(name+","+age+","+sex+","+salary);

}

}

設計模式---工廠模式(了解)

用一個類來幫我們創建和管理對象,就是工廠模式

public classTest1 {//工廠類中用來提供對象的方法,最好設計靜態方法,易于調用

public static voidmain(String[] args) {

Emp emp=EmpFactory.getInstance();

emp.show();;

}

}classEmpFactory{public staticEmp getInstance(){

Emp emp=new Emp("劉",45);returnemp;

}

}classEmp{

String name;intage;

Emp(String name,intage){this.name=name;this.age=age;

}voidshow(){

System.out.println(name+","+age);

}

}

public classTest1 {public static voidmain(String[] args) {

Car car=CarFactory.getInstance(1);

car.name="Bmw";

car.show();

Car car1=CarFactory.getInstance(2);

car1.name="Benz";

car1.show();

}

}//設計一個父類Car,屬性:名字//構造方法:空參構造方法,帶名字的構造方法//方法:show顯示該Car的名字//設計一個Car的子類Bmw,屬性:速度//設計一個Car的子類Benz,屬性:價格//設計一個Car的子類QQ,屬性:顏色//設計一個工廠,可以根據用戶的請求來創建不同的子類對象

classCar{

String name;

Car(){}

Car(String name){this.name=name;

}voidshow(){

System.out.println(name);

}

}class Bmw extendsCar{intspeed;

}class Benz extendsCar{doubleprice;

}class QQ extendsCar{

String color;

}//分析:參數來代表用戶不同的請求//1---BMZ,2---Benz,3----QQ//工廠中獲得對象的方法,可以根據調用參數的不同,返回不同的Car的子類對象

classCarFactory{public static Car getInstance(inttype){

Car car=null;if(type==1){

car=newBmw();

}else if(type==2){

car=newBenz();

}else if(type==3){

car=newQQ();

}returncar;

}

}

總結

以上是生活随笔為你收集整理的java 创建一个抽象类_Java-抽象类的全部內容,希望文章能夠幫你解決所遇到的問題。

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