java抽象

Java 抽象

java中的抽象类和抽象方法

1. 抽象方法: 一个类中的方法用 abstract 进行了修饰,该方法被称为抽象方法,抽象方法没有方法体。抽象方法所在的类必须是抽象类,用abstract 修饰。

使用关键字abstract声明抽象方法,一般语法:

[访问权限] abstract 返回值类型 方法名称(参数列表);

如:


	public abstract void draw();

**2.**抽象类:含有抽象方法的类就叫抽象类。

定义抽象类同样使用关键字abstract,一般语法:
[访问权限] abstract class 类名 {
成员列表
}
如:

public abstract class Shapes {
		public abstract void draw();
	}

3. 抽象类的意义

在抽象类中已经实现的方法可以被其子类使用,使代码可以被复用。同时,提供了抽象的方法,保证了子类具有自身的独特性。

4. 抽象的局限性

若多个子类,有同样的方法,但表现形式不同。那就在父类中定义一个抽象方法,子类中进行重写。但那会造成代码的冗余。

具体事例:

abstract class Shapes {  //基本形状类,抽象类
 	 public abstract void draw();  //绘图方法,抽象方法
}

class Circle extends Shapes {  //圆形类继承于基本形状类
 	 public void draw() {  //实现抽象父类的抽象绘图方法
   		 System.out.println("绘制了一个圆形。");
 	 }
} 

class Square extends Shapes {  //正方形类继承与基本形状类
 	 public void draw() {  //实现抽象父类的抽象绘图方法
    		System.out.println("绘制了一个正方形。");
 	 }
}

public class abstractDemo {  //该类用于容纳main方法
  public static void main(String[] args) {
    Shapes obj;
    obj = new Circle();         //父类的引用指向子类的实例
    obj.draw();                 //调用绘图方法
    obj = new Square();         //父类的引用指向子类的实例
    obj.draw();                 //调用绘图方法
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值