抽象类 短命女 2022-03-26 05:12 137阅读 0赞 ### 类的设计应该保证父类和子类能够共享特征。有时将一个父类设计的非常抽象,以至于它没有 ### ### 具体的实例,这样的就可以声明为抽象类。 ### ### 用abstract关键字修饰一个类,这个类就是抽象类 ### ### 用abstract来修饰一个方法时,这个方法就是抽象方法 ### ### 抽象方法:只有方法声明,没有方法的实现以分号结束abstract int abstractMethod(int a); ### ### 含有抽象方法的类必须被声明为抽象类抽象类是用来被继承的,抽象类的子类必须重写父类的抽象方法,并提供方法体。若没有重写全部的抽象方法,仍为抽象类。 ### ### 不能用abstract修饰属性、私有方法、构造器、静态方法、final的方法。 ### ### 抽象类不能被实例化。 ### public abstract class Pet { private String name; private int age; private double weight; public Pet(String name, int age, double weight) { this.name = name; this.age = age; this.weight = weight; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public double getWeight() { return weight; } public void setWeight(double weight) { this.weight = weight; } public String toString() { return "名字:"+name+",年龄:"+age+",重量:"+weight; } public abstract void speak(); public abstract void eat(); } class PetT{ public static void main(String[] args) { Pet p= new Pet("测试",20,50);//抽象类不可以new对象 } } ### 一个继承抽象类父类的子类 ### public abstract class Pet { private String name; private int age; private double weight; public Pet(String name, int age, double weight) { this.name = name; this.age = age; this.weight = weight; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public double getWeight() { return weight; } public void setWeight(double weight) { this.weight = weight; } public String toString() { return "名字:"+name+",年龄:"+age+",重量:"+weight; } public abstract void speak(); public abstract void eat(); } class Bird extends Pet{ private int fly; public Bird(String name, int age, double weight,int fly) { super(name, age, weight); this.fly = fly; } public int getFly() { return fly; } public void setFly(int fly) { this.fly = fly; } @Override public void speak() { System.out.println("genlonggenglong"); } @Override public void eat() { System.out.println("chongzi"); } @Override public String toString() { return super.toString()+",飞行:"+fly; } } class Test{ public static void main(String[] args) { Pet p = new Bird("测试",20,50,60); p.eat(); p.speak();//虚方法调用 System.out.println(p); } } ### 抽象类中可以包括: ### 1. 属性 2. 构造器 3. 具体方法 4. 抽象方法
相关 抽象类 抽象类是一种不能被实例化的类,只能作为其他类的父类来使用。抽象类使用abstract关键字来声明。 格式为: abstract class AbstractName\{ 末蓝、/ 2022年08月22日 00:03/ 0 赞/ 122 阅读
相关 抽象类 抽象方法是只声明而未实现的方法,所有的抽象方法必须用abstract修饰,包含抽象方法的类必须也用abstract修饰。 有抽象方法的类一定是抽象类,抽象类不一定有 快来打我*/ 2022年06月08日 07:40/ 0 赞/ 100 阅读
相关 抽象类 1.纯虚函数 在基类中仅仅给出声明,不对虚函数实现定义,而是在派生类中实现。这个虚函数称为纯虚函数。普通函数如果仅仅给出它的声明而没有实现它的函数体,这是编译不过的。纯虚 £神魔★判官ぃ/ 2022年06月08日 00:49/ 0 赞/ 124 阅读
相关 抽象类 抽象类 1、抽象类的概念: 包含一个抽象的方法的类就是抽象类 2、抽象方法: 声明而未被实现的方法,抽象方法必须使用abstract关键字声明。 曾经终败给现在/ 2022年06月07日 03:17/ 0 赞/ 122 阅读
相关 抽象类 1、什么是抽象类? 带有抽象方法但没有方法体、并且在类名前添加abstract关键字的类是抽象类。 2、为什么用抽象类、什么时候用抽象类? 设计一个类作为一些类的 Love The Way You Lie/ 2022年05月05日 09:40/ 0 赞/ 199 阅读
相关 抽象类 类的设计应该保证父类和子类能够共享特征。有时将一个父类设计的非常抽象,以至于它没有 具体的实例,这样的就可以声明为抽象类。 用abstract关键字修饰一个类,这 短命女/ 2022年03月26日 05:12/ 0 赞/ 138 阅读
相关 抽象类 抽象类 抽象类的引入 抽象类的引入 空实现: 就是给出了代码块,但是没有实现 注意: 空实现也是实现了 抽象方法的实现没有意义,但是存在有意义? 存在有 客官°小女子只卖身不卖艺/ 2022年03月25日 12:20/ 0 赞/ 176 阅读
相关 抽象类 1. abstract定义抽象类和抽象方法 抽象类不能被实例化,即无法使用new来调用抽象类构造器创建抽象类实例。但是抽象类有构造器,主要是给其子类调用的 约定不等于承诺〃/ 2022年02月19日 10:41/ 0 赞/ 162 阅读
相关 抽象类 基本概念 -------------------- 所有的对象都是通过类来描述的,但并不是所有的类都是来描述对象的。如果一个类没有足够的信息来描述一个具体的对象,而需 Dear 丶/ 2021年09月22日 22:56/ 0 赞/ 282 阅读
相关 抽象类 Abstract(抽象)可以修饰类、方法 进行先上抽取,只能抽取功能定义,而不抽取功能主体,具体的实现由子类覆盖完成。 抽象相当于一些概念性的东西,而子类相当于功能性的实现 r囧r小猫/ 2021年09月10日 23:14/ 0 赞/ 270 阅读
还没有评论,来说两句吧...