package com.day27.test;
public class Test {
public static void main(String[] args) {
System.out.println("抽象类与抽象方法");
// 一旦类抽象了abstract 就不可实例化
//Person person=new Person();
//person.eat();
}
}
//abstract 的使用
// 可以修饰类 :1.不可以实例化 2. 抽象类中一定有构造器 便于子类实例化调用 开发中 都会提供抽象类的子类 让子类进行操作
//
//也可以修饰方法
// 1. 包含抽象方法的类 一定是抽象类 反之 抽象类中可以存在普通方法
// 2. 抽象方法只有方法声明,没有方法体
// 3. 子类继承抽象类的父类 必须要重写父类抽象类的方法
// 4. 若子类没有重写抽象父类的方法 则此子类必须也要是抽象类
//应用场景
//对于一个类的方法 不知道方法里怎么去定义什么内容 或者只能先返回一个空值
// 只有到子类的时候 才能实现具体的方法 这时候就可以给这个类的这个方法定义为 抽象类
// 例如 有个交通工具类 子类为 小轿车 和卡车
// 交通工具类中定义工具类的属性 方法 例如 发动机 轮子大小 这些都可以直接在工具类中声明
// 但是有些方法在工具类中不好具体实现业务 ,例如计算燃料使用率 和 行驶距离
// 这些 只能通过子类继承父类后在子类中实现
// 这时候就可以在父类中把 计算燃料使用率和行驶距离的方法定义为抽象方法 具体实现在子类重写后完成
abstract class Person{
String nameString;
int age;
public Person(){
}
public Person(String nameString,int age) {
this.nameString=nameString;
this.age=age;
}
public void eat() {
System.out.println("吃饭");
}
public void walk() {
System.out.println("走路");
}
//定义抽象方法
public abstract void wokeing();
}
class Stu extends Person{
public Stu(String namString,int age) {
super(namString,age);
}
@Override
public void wokeing() {
// TODO Auto-generated method stub
}
//抽象方法 子类必须要重写
// public void wokeing() {
// System.out.println("工作去把");
// }
}JAVA 抽象类与抽象方法详解
原创
©著作权归作者所有:来自51CTO博客作者json____的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
















