java编程一般类抽象类的定义,Java编程基础抽象类
本文主要是講述Java編程基礎-抽象類,更多Java技術知識,請登陸瘋狂軟件教育官網。 抽象類: 抽象:不具體,看不明白關鍵字abstract 抽象類的特點: 1.抽象方法只能定義在抽象類中,抽象類和抽象方法必須由abstract關鍵字修飾(可以描述類和方法。不可以描述變量)2.抽象方法只定義方法聲明,并不定義方法實現。3.抽象類不可以被創建對像(實例化) 4.只有通過之類繼承抽象類并覆蓋了抽象類中的所有抽象方法后,該子類才可以實例化。否則,該子類還是一個抽象類。 抽象類的細節: 1.抽象類中是否有構造函數?有,用于給子類對象進行初始化2.抽象類中是否可以定義非抽想法? 可以。其實,抽象類和一般類沒有太大的區別,都是在描述事物,只不過抽象類在描述事物時,有些功能不具體。所以抽象類和一般類在定義上,都是需要定義屬性和行為的。只不過,比一般類多了一個抽象函數。而且比一般類少了一個創建對象的部分。 3.抽象關鍵字 abstract和那些關鍵字不可以共存。final,private,staitc、、因為抽象類要倍實現和繼承、4.抽象類中可不可以不定義抽象方法?可以。抽象方法目的僅僅為了不讓該類創建對象。 /* 員工和經理的案例 員工只要入職,必須具備姓名工資還有工號 */ //將共性內容抽取 abstract class Company { private String name;//姓名 private String id;//工號 private double money;//工資 Company(String name,String id,double money){ this.name = name; this.id = id; this.money=money; } //提供get set方法,間接的訪問類中成員變量 public String getName() { return name; } public void setName(String name) { this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public double getMoney() { return money; } public void setMoney(double money) { this.money = money; } public abstract void job(); } //定義員工類 class Programming extends Company { //員工類的構造方法 Programming(String name,String id,double money){ super(name,id,money); } //工作的方法 public void job(){ System.out.println(super.getName()+".."+super.getId()+".."+super.getMoney()+"寫代碼"); } } //定義經理類 class Manager extends Company { Manager(String name,String id,double money,double bonus){ super(name,id,money); this.bonus = bonus; } private double bonus;//獎金 //工作的方法 public void job(){ System.out.println(super.getName()+".."+super.getId()+".."+super.getMoney()+"..."+bonus+" 管理工作"); } } class AbstractTest1 { public static void main(String[] args) { Programming p = new Programming("zhangsan","開發部001",10003.31); p.job(); Manager m = new Manager("李四","管理部001",1000.21,3453454.5); m.job(); //System.out.println("Hello World!"); } }
總結
以上是生活随笔為你收集整理的java编程一般类抽象类的定义,Java编程基础抽象类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP发送数据到指定方法,php通过he
- 下一篇: 【Java必备资料包】