-
2018-01-10 09:42:48
有抽象方法的类,一定要申明为抽象类,否则,会编译错误,DOS错误提示信息,可能没有直接说明原因, 但是在类前加上abstract就可以编译成功。
没有抽象方法的类,也可以申明为抽象类,这时,这个类不能被实例化。。。
更多相关内容 -
c#中抽象类和接口的详细介绍
2021-01-20 07:05:20抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。 二、接口:接口是引用类型... -
C#抽象类和接口的区别分析
2021-01-01 00:46:39抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖。 二、接口: 接口是引用类型的,类似于类,和抽象类的相似之处有三点... -
在Java抽象类中声明静态变量和方法
2021-02-26 16:08:48如果方法声明为静态,则它是类的成员,而不是属于该类的对象。可以在不创建该类的对象的情况下调用它。静态方法还具有访问类的静态数据成员的能力。静态变量是类变量。将为该类的所有实例创建静态变量的单个副本。...如果方法声明为静态,则它是类的成员,而不是属于该类的对象。可以在不创建该类的对象的情况下调用它。静态方法还具有访问类的静态数据成员的能力。
静态变量是类变量。将为该类的所有实例创建静态变量的单个副本。可以使用静态方法直接访问它。
Java中的抽象类是无法实例化的类。它主要用作子类的基础,以扩展和实现抽象方法,并覆盖或访问抽象类中已实现的方法。
示例abstract class Parent {
static void display() {
System.out.println("Static method in an abstract class");
}
static int x = 100;
}
public class Example extends Parent {
public static void main(String[] args) {
Parent obj = new Example();
obj.display();
System.out.print(Parent.x);
}
}
输出结果
输出如下-Static method in an abstract class
100
-
定义抽象类Vehicles具有抽象方法wheel, 接口MoneyFare具有方法charge,类Bus和Taxi实现抽象类和接口,Car...
2020-04-29 17:35:26定义抽象类Vehicles具有抽象方法wheel, 接口MoneyFare具有方法charge,类Bus和Taxi实现抽象类和接口,Car实现接口,测试其特性。 【输入形式】 请输入公交车线次:347请输入出租车名字:yellow请输入你的车品牌:BMW ...【问题描述】
定义抽象类Vehicles具有抽象方法wheel, 接口MoneyFare具有方法charge,类Bus和Taxi实现抽象类和接口,Car实现接口,测试其特性。【输入形式】
请输入公交车线次:347请输入出租车名字:yellow请输入你的车品牌:BMW
【输出形式】公交车347有6个轮子公交车347票价2元每人出租车yellow有4个轮子出租车yellow为2元每公里如果这辆BMW车是你的就免费乘坐
【样例输入】
347YellowBMW
【样例输出】
The bus 347 has 6 wheels.
The bus 347 2 yuan per people
The taxi Yellow has 4 wheels.
The taxi Yellow 2 yuan per km
The car BMW is free if it is yoursimport java.util.Scanner; abstract class Vehicles { abstract void wheel(String name); } interface MoneyFare { void charge(String name); } class Bus extends Vehicles implements MoneyFare { void wheel(String name) { System.out.println("The bus "+name+" has 6 wheels."); } public void charge(String name) { System.out.println("The bus "+name+" 2 yuan per people"); } } class Taxi extends Vehicles implements MoneyFare{ void wheel(String name) { System.out.println("The taxi "+name+" has 4 wheels."); } public void charge(String name) { System.out.println("The taxi "+name+" 2 yuan per km"); } } class Car implements MoneyFare{ public void charge(String name) { System.out.println("The car "+name+" is free if it is yours"); } } public class P4T3 { public static void main(String args[]) { Bus bus = new Bus(); Taxi taxi = new Taxi(); Car car = new Car(); String busname,taxiname,carname; Scanner s = new Scanner(System.in); System.out.println("Please input the bus line: "); busname = s.nextLine(); System.out.println("Please input the taxi name: "); taxiname = s.nextLine(); System.out.println("Please input the car brand: "); carname = s.nextLine(); bus.wheel(busname); bus.charge(busname); taxi.wheel(taxiname); taxi.charge(taxiname); car.charge(carname); } }
-
抽象类与抽象方法的练习:编写一个Employee类,声明为抽象类,包含如下三个属性:name,id,salary。...
2021-02-20 19:08:10编写一个Employee类,声明为抽象类, 包含如下三个属性:name,id,salary。 提供必要的构造器和抽象方法:work()。 对于Manager类来说,他既是员工,还具有奖金(bonus)的属性。 请使用继承的思想,设计...编写一个Employee类,声明为抽象类,
包含如下三个属性:name,id,salary。
提供必要的构造器和抽象方法:work()。
对于Manager类来说,他既是员工,还具有奖金(bonus)的属性。
请使用继承的思想,设计CommonEmployee类和Manager类,要求类
中提供必要的方法进行属性访问代码实现:
/* 编写一个Employee类,声明为抽象类, 包含如下三个属性:name,id,salary。 提供必要的构造器和抽象方法:work()。 */ abstract class Employee { private String name; private int id; private double salary; public Employee(){ } public Employee(String name, int id, double salary) { this.name = name; this.id = id; this.salary = salary; } public abstract void work(); }
/* 对于Manager类来说,他既是员工,还具有奖金(bonus)的属性。 */ public class Manager extends Employee{ private double bouns;//奖金 public Manager(double bouns) { this.bouns = bouns; } public Manager(String name, int id, double salary, double bouns) { super(name, id, salary); this.bouns = bouns; } @Override//因为父类Employee存在抽象方法work()需要重写,否则Manager类报错//因为重写了父类的抽象方法work()所以Manager就不是抽象类了 public void work() { System.out.println("管理员工"); } }
public class CommonEmployee extends Employee{ public CommonEmployee() { } public CommonEmployee(String name, int id, double salary) { super(name, id, salary); } @Override//因为重写了父类的抽象方法work()所以CommonEmployee就不是抽象类了 public void work() { System.out.println("员工在一线车间生产产品!"); } }
测试类:
/* 请使用继承的思想,设计CommonEmployee类和Manager类,要求类中提供必要的方法进行属性访问 */ public class EmployeeTest { public static void main(String[] args) { CommonEmployee commonEmployee=new CommonEmployee("jack",11,4152); commonEmployee.work(); Manager manager =new Manager("Jack",1112,88888,66666); //多态 Employee manager1 =new Manager("Tom",12,888,666); manager1.work(); manager.work(); } }
欢迎点赞评论, -
C#中的抽象类、抽象属性、抽象方法
2020-06-10 00:51:31C#允许把类、属性和函数声明为abstract。 抽象类不能实例化,抽象类可以包含普通属性和抽象属性,普通函数和抽象函数。 抽象函数就是只有函数定义没有函数体的函数。显然,抽象函数本身也是虚拟(virtual)的。 ... -
C#抽象类和抽象方法(很详细,你值得拥有!!!)
2020-06-18 19:10:32什么是抽象类? 什么是抽象方法? 抽象类和抽象方法有什么特性? 抽象类的使用场景? 抽象类的作用? 抽象类和接口的区别? 抽象类和抽象方法怎么声明? 抽象类和抽象方法如何使用? -
在抽象类中可以没有抽象方法_是否可以在最终课程中使用抽象方法?
2020-06-28 21:45:52在抽象类中可以没有抽象方法 这是最近在Java开发人员工作面试的电话面试中向我的一位读者... 因为一旦在Java类中声明抽象方法,该类就会自动变为抽象类,并且您无法像前面所讨论的那样在Java中将抽象类定为final... -
编写Java程序,使用抽象类和抽象方法构建不同动物的扑食行为,抽象类设计
2021-03-14 20:54:18要求定义一个抽象的动物类,该类中有一个抽象的捕食方法,和一个非抽象的进食方法。在进食方法中调用捕食方法。定义3个不同的动物类,分别是老虎、猴子和狼,这些类继承抽象的动物类。 实现思路:定义抽象类动物... -
Java 抽象类中构造方法的作用?如何理解?
2021-02-12 15:25:38java抽象类的构造方法和普通类的构造方法...抽象类就是一个不能实例化的不同类不过如果方法加了abstract那么就必须在子类里面重写了(1)Java中抽象类和接口中有构造方法吗?①在接口中 不可以有构造方法在接口里写入构... -
面向对象——抽象类与抽象方法
2020-04-13 09:26:04如果一个类不与具体的食物相联系,而只表达一种抽象的概念,仅是作为其派生类的一个基类,这样的类就是派生类,在抽象类中,声明抽象类中声明抽象方法是,如果加上abstract关键字则为抽象方法。abstract 修饰符可... -
Java----多态+抽象类+抽象方法+接口
2021-02-07 17:31:56Java基础创作日记 Day05 时间:2021年2月7日下午 阴 昨天的前天的总结少了点东西,今天...含有抽象方法的类必须要用abstract修饰,用abstract修饰的类叫做抽象类,抽象类可以不含有抽象方法 语法:abstract class 类名. -
java入门作业:Employee类声明为抽象类 包含三个属性:name、id、salary 提供必要的构造器和抽象方法:work...
2021-10-19 17:20:141、员工类: public abstract class Employee { //名字 private String name; //编号 private int id; //薪水 private double salary; //无参构造 public Employee(){ } //有参构造 public Employee... -
抽象类、抽象方法和接口的区别和联系
2019-07-20 20:23:29抽象类,抽象方法和接口是java基础里面比较重要但是容易混淆的知识点,在实际运用的时候因为具有很多共同点所以也会有时候也会不知道用什么或者用错,正好借这个机会整理一下这方面的知识~~_~ 抽象类和抽象... -
Java抽象类/抽象方法定义及其特性详解
2019-09-28 18:37:53类的继承结构中,越往上的类越具有通用性,也就越抽象。当它抽象到一定程度,就变成概念成框架,不能再产生实例化的对象了。例如“交通工具”,就无法用它来产生一个实例。 对应这一现象,Java中提供了抽象类,它... -
python 如何定义抽象类和抽象方法
2020-01-10 13:00:05在python中类 通过继承metaclass = ABCmeta类来创建抽象类,抽象类是包含抽象方法的类,其中ABCmeta类(Metaclass for defining abstact baseclasses,抽象基类的元类)是所有抽象类的基类。 定义了... -
Java 抽象类 abstract关键字
2021-02-26 16:34:10抽象类前使用abstract关键字修饰,则该类为抽象类抽象的方法是不完全的,它只是一个方法签名而完全没有方法体抽象的方法没有花括号继承抽象类的子类必须覆盖父类的抽象函数(即:子类继承抽象类以后,抽象类里面所有... -
什么是(抽象方法,普通方法,抽象类、接口),区别又是什么?
2020-10-29 16:17:54如果一个类中抽象方法,则该类必须声明为抽象类 抽象类不可以被实例化,只能被继承 继承了抽象类的子类,必须发父类的抽象方法实现出来 接口 接口是一个特殊的抽象类,里面只能有抽象方法 接口使用interface定义 ... -
java抽象类 继承
2021-03-08 06:02:32抽象类中可以有已经实现了的方法,也可以有被abstract修饰的方法(抽象方法),因为存在抽象方法,所以该类必须是抽象类。但是接口要求只能包含抽象方法,抽象方法是指没有实现的方法。所以就不能像抽象类那么无赖了,... -
java抽象类
2018-11-14 11:24:48java抽象类 -
java—抽象方法,抽象类(局部内部类,匿名内部类的使用)
2019-03-24 14:16:19抽象方法,抽象类 ...即 具有抽象方法的类一定是抽象类,但抽象类中不一定有抽象方法。 abstract class Stu{ //该方法只是声明了一个print()方法,没有方法体,所以是一个抽象方法。 public abstract voi... -
Java之抽象类(Abstract Class)与抽象方法(Abstract Method)
2018-07-10 17:29:27抽象类(Abstract Class)抽象类 在面向对象的概念中... 抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。 由于抽象类不能实例化对象,所以抽象类必... -
\定义一个抽象类Shape,它有两个抽象的方法area()和perimeter(),分别表示求面积和周长.
2021-03-15 18:18:19我之前做了个简易计算器的简单工厂模式,效果与你这个是一样的~~~~你的抽象类Shape里面的方法area()和perimeter(),可以参考的计算器的GetResult()都是虚方法(使用virtual 关键字),然后在计算面积、周长的子类中分别... -
抽象类、抽象方法、抽象属性
2016-05-05 16:25:00一个方法类前面加上“abstract”关键字,此方法就成为了抽象方法。 抽象类一般用于表达一种比较抽象的事物,比如前面所说的“水果”,而抽象方法则说明此抽象类应该具有的某种性质,比如Fruit 类中有一个抽象方法... -
面试题系列之接口是否可继承接口?抽象类是否可实现(implements)接口?...抽象类中是否可以有静态的main方法?
2020-05-20 18:33:06官方解释:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。 又到了我最喜欢打... -
C#:定义一抽象类Pet(宠物)类,作为基类
2020-01-06 09:44:42用C#语言编写一段程序,满足以下要求: 1.定义一抽象类Pet(宠物)类,作为基类。...4.定义包含主方法的类MainClass,通过抽象类对象调用派生类的覆写方法。 using System; using System.Collections.Generic; usin... -
抽象类与接口之间的区别
2014-07-05 23:37:16抽象类是特殊的类,只是不能...抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个 抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。 -
Java自学习day15-抽象类练习-编写一个Employee类,声明为抽象类, 包含如下三个属性:name,id,salary。
2021-05-10 23:00:54Java自学习day15-抽象类练习 -
抽象类
2020-12-15 22:19:14抽象类中的方法不一定有具体的实现。 package org.wdit; /** * 抽象类 */ public class unit08 { public static void main(String[] args) { Pets pets = new Dod(); pets.voice(); pets.eat(); Pets pets1 ...