精华内容
下载资源
问答
  • 没有抽象方法,可以申明为抽象方法吗?有抽象方法,一定要申明为抽象类。。
    千次阅读
    2018-01-10 09:42:48

             有抽象方法的类,一定要申明为抽象类,否则,会编译错误,DOS错误提示信息,可能没有直接说明原因, 但是在类前加上abstract就可以编译成功。

            没有抽象方法的类,也可以申明为抽象类,这时,这个类不能被实例化。。。


    更多相关内容
  • 抽象方法只能声明抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。  二、接口:接口是引用类型...
  • 抽象方法只能声明抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖。 二、接口: 接口是引用类型的,类似于,和抽象类的相似之处有三点...
  • 如果方法声明为静态,则它是的成员,而不是属于该的对象。可以在不创建该的对象的情况下调用它。静态方法具有访问的静态数据成员的能力。静态变量是变量。将为该的所有实例创建静态变量的单个副本。...

    如果方法声明为静态,则它是类的成员,而不是属于该类的对象。可以在不创建该类的对象的情况下调用它。静态方法还具有访问类的静态数据成员的能力。

    静态变量是类变量。将为该类的所有实例创建静态变量的单个副本。可以使用静态方法直接访问它。

    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实现接口,测试其特性。 【输入形式】 请输入公交车线次: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 yours

    import  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。 提供必要的构造器和抽象方法: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:31
    C#允许把、属性和函数声明为abstract。 抽象类不能实例化,抽象类可以包含普通属性和抽象属性,普通函数和抽象函数。 抽象函数就是只有函数定义没有函数体的函数。显然,抽象函数本身也是虚拟(virtual)的。 ...
  • 什么是抽象类? 什么是抽象方法? 抽象类抽象方法有什么特性? 抽象类的使用场景? 抽象类的作用? 抽象类和接口的区别? 抽象类抽象方法怎么声明? 抽象类抽象方法如何使用?
  • 抽象类中可以没有抽象方法 这是最近在Java开发人员工作面试的电话面试中向我的一位读者... 因为一旦在Java声明抽象方法,该就会自动变为抽象类,并且您无法像前面所讨论的那样在Java中将抽象类final...
  • 要求定义一个抽象的动物,该中有一个抽象的捕食方法,和一个非抽象的进食方法。在进食方法中调用捕食方法。定义3个不同的动物,分别是老虎、猴子和狼,这些继承抽象的动物。 实现思路:定义抽象类动物...
  • java抽象类的构造方法和普通的构造方法...抽象类就是一个不能实例化的不同不过如果方法加了abstract那么就必须在子类里面重写了(1)Java中抽象类和接口中有构造方法吗?①在接口中 不可以有构造方法在接口里写入构...
  • 面向对象——抽象类抽象方法

    千次阅读 2020-04-13 09:26:04
    如果一个不与具体的食物相联系,而只表达一种抽象的概念,仅是作为其派生的一个基类,这样的就是派生,在抽象类中,声明抽象类声明抽象方法是,如果加上abstract关键字则为抽象方法。abstract 修饰符可...
  • Java----多态+抽象类+抽象方法+接口

    千次阅读 2021-02-07 17:31:56
    Java基础创作日记 Day05 时间:2021年2月7日下午 阴 昨天的前天的总结少了点东西,今天...含有抽象方法类必须要用abstract修饰,用abstract修饰的叫做抽象类抽象类可以不含有抽象方法 语法:abstract class 类名.
  • 1、员工: public abstract class Employee { //名字 private String name; //编号 private int id; //薪水 private double salary; //无参构造 public Employee(){ } //有参构造 public Employee...
  • 抽象类抽象方法和接口是java基础里面比较重要但是容易混淆的知识点,在实际运用的时候因为具有很多共同点所以也会有时候也会不知道用什么或者用错,正好借这个机会整理一下这方面的知识~~_~ 抽象类抽象...
  • 的继承结构中,越往上的具有通用性,也就越抽象。当它抽象到一定程度,就变成概念成框架,不能再产生实例化的对象了。例如“交通工具”,就无法用它来产生一个实例。 对应这一现象,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关键字修饰,则该类为抽象类抽象方法是不完全的,它只是一个方法签名而完全没有方法抽象方法没有花括号继承抽象类的子类必须覆盖父类的抽象函数(即:子类继承抽象类以后,抽象类里面所有...
  • 如果一个抽象方法,则该类必须声明为抽象类 抽象类不可以被实例化,只能被继承 继承了抽象类的子类,必须发父类的抽象方法实现出来 接口 接口是一个特殊的抽象类,里面只能有抽象方法 接口使用interface定义 ...
  • java抽象类 继承

    千次阅读 2021-03-08 06:02:32
    抽象类中可以有已经实现了的方法,也可以有被abstract修饰的方法(抽象方法),因为存在抽象方法,所以该类必须抽象类。但是接口要求只能包含抽象方法抽象方法是指没有实现的方法。所以就不能像抽象类那么无赖了,...
  • java抽象类

    千次阅读 2018-11-14 11:24:48
    java抽象类
  • 抽象方法,抽象 ...即 具有抽象方法一定是抽象,但抽象中不一定有抽象方法。 abstract class Stu{ //该方法只是声明了一个print()方法,没有方法体,所以是一个抽象方法。 public abstract voi...
  • 抽象类(Abstract Class)抽象类 在面向对象的概念中... 抽象类除了不能实例化对象之外,的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通一样。 由于抽象类不能实例化对象,所以抽象类必...
  • 我之前做了个简易计算器的简单工厂模式,效果与你这个是一样的~~~~你的抽象类Shape里面的方法area()和perimeter(),可以参考的计算器的GetResult()都是虚方法(使用virtual 关键字),然后在计算面积、周长的子类中分别...
  • 抽象类抽象方法抽象属性

    千次阅读 2016-05-05 16:25:00
    一个方法类前面加上“abstract”关键字,此方法就成为了抽象方法。 抽象类一般用于表达一种比较抽象的事物,比如前面所说的“水果”,而抽象方法则说明此抽象类应该具有的某种性质,比如Fruit 类中有一个抽象方法...
  • 官方解释:Java接口是一系列方法声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的实现,而这些实现可以具有不同的行为(功能)。 又到了我最喜欢打...
  • 用C#语言编写一段程序,满足以下要求: 1.定义一抽象类Pet(宠物),作为基类。...4.定义包含主方法MainClass,通过抽象类对象调用派生的覆写方法。 using System; using System.Collections.Generic; usin...
  • 抽象类是特殊的,只是不能...抽象方法只能声明抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个 抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。
  • Java自学习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 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 200,345
精华内容 80,138
关键字:

具有抽象方法的类必须声明为