JAVA抽象方法(JAVA代码抽象类怎么写)

 分类:IT知识时间:2022-11-05 07:31:03点击:
类中如果有抽象方法,该类必须定义为抽象类

格式:权限修饰符 abstractclass类名{}; 范例: publicabstractclassAnimal{ 代码体 };

父类需要定义某个方法,但是不知道如何去实现这个方法, 具体的功能应该让子类去实现这样的方法就可以定义为抽象方法

格式: 权限修饰符 abstract返回值类型 方法名(参数列表); 范例: publicabstractvoidrun(); // 不能写私有private抽象方法,因为不能被子类进行重写

* 抽象类无法创建对象 * 有抽象方法,这个类一定是抽象类 (抽象类和抽象方法的关系) * 抽象类中不一定有抽象方法 * 子类继承抽象类 * 要么重写所有抽象方法 * 要么子类也必须定义为抽象类 //如:public abstract class Dog extends Animal


●成员变量 可以是变量 也可以是常量 ●构造方法 有构造方法,但是不能实例化(通过多态来进行实例化) 那么,构造方法的作用是什么呢?用于子类访问父类数据的初始化 ●成员方法 可以有抽象方法:限定子类必须完成某些动作(限定子类为抽象类或者子类要进行重写) 也可以有非抽象方法:提高代码复用性(是用继承来保证的)

* 抽象类:拥有所有能力,还有定义抽象方法的能力,不能创建对象 * 普通类:不能定义抽象方法

public abstract class Card {private String id;private double balance;public Card() {
}public Card(String id, double balance) {this.id = id;this.balance = balance;
}public abstract void pay(double money) ;public String getId() {return id;
}public void setId(String id) {this.id = id;
}public double getBalance() {return balance;
}public void setBalance(double balance) {this.balance = balance;
}
}
public class GoldenCard extends Card{public GoldenCard() {
}public GoldenCard(String id, double balance) {
super(id, balance);
}
@Overridepublic void pay(double money) {
System.out.println("支付成功");
System.out.println("原件:"+money);//打折价double paymoney=money*0.8;
System.out.println("优惠价:"+paymoney);//余额double newBalance=getBalance()-paymoney;
System.out.println("余额:"+newBalance);//更新余额为最新的金钱setBalance(newBalance);
}
}
import java.util.Scanner;public class Test {public static void main(String[] args) {
GoldenCard ca=new GoldenCard("vip0001",10000);
Scanner rd=new Scanner(System.in);
System.out.println("请输入加油的金额:");double a=rd.nextDouble();
ca.pay(a);
System.out.println("请输入加油的金额:");
a=rd.nextDouble();
ca.pay(a);
}
}

除注明外的文章,均为来源:老汤博客,转载请保留本文地址!
原文地址: