精华内容
下载资源
问答
  • 抽象类中可以有普通方法,也可以有抽象方法,而抽象方法的个数可以是0个,也可以是多个。子类继承父类,必须重写全部的抽象方法,除非这个类也变成了抽象类。免费在线学习视频推荐:java在线学习接口:表面上看,...

    9af7cd86aea2f7bfe141cc61f4b70008.png

    抽象类:

    一个类中有抽象方法,这个类就变成了抽象类。

    抽象类中class的前面必须有abstract修饰符。

    抽象类中可以有普通方法,也可以有抽象方法,而抽象方法的个数可以是0个,也可以是多个。

    子类继承父类,必须重写全部的抽象方法,除非这个类也变成了抽象类。

    免费在线学习视频推荐:java在线学习

    接口:

    表面上看,接口是一种特殊的抽象类,但是类是类,接口是接口,是并列的关系。

    接口中所有方法都必须是抽象的。(1.8之后允许接口定义非抽象方法)

    接口中方法定义默认为public abstract类型,成员变量默认为public static final 类型。(如果省略,系统会默认补全)。

    抽象类和普通类的区别:

    包含抽象方法的类称为抽象类,但并不意味着抽象类中只能有抽象方法,和普通类一样,同样可以拥有成员变量和普通的成员方法。

    抽象类和普通类的区别如下:

    抽象方法的访问修饰符必须为public和protected。

    抽象类不能被实例化。

    如果一个类继承于抽象类,则子类必须实现父类的抽象方法,如果子类没有实现父类的抽象方法,则子类必须也一个抽象类。

    抽象类和接口的区别:

    一个类只能继承一个抽象类,而一个类可以实现多个接口。

    抽象类可以有构造方法,接口中不能有构造方法。

    抽象类中可以有成员变量,接口中没有成员变量。(被final修饰变成了常量)

    抽象类中可以有普通方法,接口中所有方法都必须是抽象的。(1.8后允许接口定义非抽象方法)

    抽象类中抽象方法的访问类型可以是public,protected,但接口中抽象方法的访问类型只能是public,并且默认为public abstract(省略则自动默认补全)。

    抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的。

    抽象类中可以有静态代码块和静态方法,接口中不能含有静态代码块以及静态方法。

    想学习更多相关文章教程请访问:java语言入门

    展开全文
  • 我看那个内部匿名类的写法(代码1),接口可以直接new,代码2中抽象类可以直接NEW,那是否可以直接 new 一个普通类然后复写其中方法比如代码3?代码1interface Person {public void eat();}public class Demo {public ...

    我看那个内部匿名类的写法(代码1),接口可以直接new,代码2中抽象类可以直接NEW,那是否可以直接 new 一个普通类然后复写其中方法比如代码3?

    代码1

    interface Person {

    public void eat();

    }

    public class Demo {

    public static void main(String[] args) {

    Person p = new Person() {

    public void eat() {

    System.out.println("eat something");

    }

    };

    p.eat();

    }

    }

    运行结果:eat something

    代码2

    abstract class Person {

    public abstract void eat();

    }

    public class Demo {

    public static void main(String[] args) {

    Person p = new Person() {

    public void eat() {

    System.out.println("eat something");

    }

    };

    p.eat();

    }

    }

    代码3

    class Person {

    public abstract void eat(){

    System.out.println("eat ");

    };

    }

    public class Demo {

    public static void main(String[] args) {

    Person p = new Person() {

    public void eat() {

    System.out.println("eat again again?");

    }

    };

    p.eat();

    }

    }

    展开全文
  • 展开全部抽象类:1、抽象类中e69da5e887aa62616964757a686964616f31333365646264可以有普通方法,如果想让方法...2、如果一个普通类实现了一个抽象接口或者抽象类,那么意味着必须重写抽象方法。一、继承(extends)...

    展开全部

    抽象类:

    1、抽象类中e69da5e887aa62616964757a686964616f31333365646264可以有普通方法,如果想让方法子类必须实现,就弄成抽象方法。

    2、如果抽象类中有抽象方法,那么这个类必须定义为抽象类。

    3、抽象类不能被new。

    普通类:

    1、普通类中不能有抽象方法。

    2、如果一个普通类实现了一个抽象接口或者抽象类,那么意味着必须重写抽象方法。

    一、继承(extends)

    继承是对现实生活中的"分类"概念的一种模拟。

    狮子拥有动物的一切基本特性,但同时又拥有自己的独特的特性,这就是"继承"关系的重要特性:通常简称为"IS_A"关系,UML类图可以这么表示:

    654122dbb5588faae391d922064aaad1.png

    继承的语法

    class 子类名 extends 父类名 {

    ……

    }

    注意:

    父类(parent class)和超类(super class):通常指直接上级;

    基类(base class):通常指包括直接上级在内的"上级的上级";

    例如:

    54171798d72ddb97e845f329fc2de161.png

    子类自动拥有父类声明为public和protected的成员,这就是继承特性的体现之一。

    继承条件下类的访问权限:

    public:外界可自由访问

    private:外界不可访问

    protected:同一包中的子类都可以访问,另一包中的子类(派生于同一个父类)也可以访问

    default:如果不指明任何权限,则默认同一包中的类可以访问

    展开全文
  • 你知道java当中的普通类抽象类之间有什么区别吗?这两者的不同之处究竟是什么呢?下面就和小编一起来详细的了解一下吧。一、抽象类普通类区别抽象类普通类的区别我们做了以下7点简单的总结,相信看了的朋友应该...

    你知道java当中的普通类和抽象类之间有什么区别吗?这两者的不同之处究竟是什么呢?下面就和小编一起来详细的了解一下吧。

    一、抽象类和普通类区别

    抽象类和普通类的区别我们做了以下7点简单的总结,相信看了的朋友应该都会很清楚的了解了,一起来看看。

    下面是具体的区别之处。

    1、和普通类比较起来,抽象类它不可以被实例化,这个区别还是非常明显的。

    2、除了以上的一点之外,抽象类它能够有构造函数,被继承的时候,子类就一定要继承父类的一个构造方法,但是,抽象方法不可以被声明成静态。

    3、在抽象类当中,可以允许普通方法有主体,抽象方法只需要申明,不需要实现。

    4、含有抽象方法的类,必须要申明为抽象类。

    5、抽象的子类必须要实现抽象类当中的所有抽象方法,否则的话,这个子类也是抽象类。

    6、抽象类它一定要有abstract关键词修饰

    7、抽象类的访问权限

    #jdk1.8之前,访问权限限制于public和protected,假如不写由或者是是private,那么就不能够被子类继承

    #jdk1.8-11将访问的权限变成了public 、protected以及default

    二、延伸阅读

    除了介绍区别之外,我们还可以来了解一下以下的内容。(几个常见问题)

    1、抽象类能够有构造函数吗?

    答案:抽象类是可以有构造函数的

    抽象类的构造函数用来初始化抽象类的一些字段,而这一切都在抽象类的派生类实例化之前发生。

    那么你知道吗?其实,除了以上之外,抽象类的构造函数还会有一种非常巧妙的应用。

    这种巧妙的应用就是,在其内部实现子类必须执行的代码。

    好啦,关于java抽象类和普通类的区别你都了解了吗?以上的内容还是比较的全面的呢,希望能够对大家起到一些帮助。

    对于初学java的人来说,有很多的java基础知识,还是需要自己不断的去了解学习的,更多java基础知识常见问题,大家可以继续通过关注奇Q工具网来了解哦,有很多java方面的内容,可以带给大家。

    推荐阅读:

    展开全文
  • java抽象类是拥有抽象方法的类,要用abstract修饰。拥有抽象方法的类就是抽象类,抽象类不可以直接实例化对象,无法进行实例化操作:因为抽象类里有抽象方法,但抽象方法又没有方法体,无法调用,无法调...
  • 你对于java抽象类的了解程度有多少呢?很多刚刚学习java的人对于java抽象类都不大熟悉,那么下面就让我们一起来具体的了解一下它的特点和含义吧。首先,我们来说一下java抽象类的特点,特点的话具体的有以下6点,一...
  • 本文介绍一下抽象类和接口的区别。题目链接:...( )A 抽象类中可以有普通成员变量,接口中没有普通成员变量。B 抽象类和接口中都可以包含静态成员常量...
  • java抽象类普通类的区别 1.抽象类不能被实例化。 2.抽象类可以有构造函数,被继承时子类必须继承父类一个构造方法,抽象方法不能被声明为静态。 3.抽象方法只需申明,而无需实现,抽象类中可以允许普通方法有主体...
  • Java抽象类 详解

    万次阅读 多人点赞 2016-10-05 00:06:35
    一、抽象类的基本概念普通类是一个完善的功能类,可以直接产生实例化对象,并且在普通类中可以包含有构造方法、普通方法、static方法、常量和变量等内容。而抽象类是指在普通类的结构里面增加抽象方法的组成部分。...
  • 抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定...
  • Java 抽象类在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类抽象类除了不能实例化...
  • java抽象类普通类的区别

    千次阅读 2019-04-25 18:03:27
    3.抽象方法只需申明,而无需实现,抽象类中可以允许普通方法有主体 4.含有抽象方法的类必须申明为抽象类 5.抽象的子类必须实现抽象类中所有抽象方法,否则这个子类也是抽象类抽象类是否可以有构造函数?答案是...
  • 抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定...
  • 接口的定义1.1接口的...④一个接口可以有多个父接口,接口只能继承接口,不能继承;⑤接口是供来实现的,所以接口里不能有构造器和初始化块;⑥接口里可以包含成员变量(静态常量,系统自动添加public static ...
  • 抽象类除了不能实例化对象之外,类的其他功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定...
  • 抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定...
  • java 抽象_Java 抽象类

    2021-03-05 14:25:41
    Java 抽象类在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类抽象类除了不能实例化...
  • 程序说明文档姓名,年龄,工号雇员类普通员工类经理类abstract:抽象,即不具体,只能修饰类和方法,不能修饰变量等。抽象方法:被abstract关键字修饰的方法,只有函数声明,没有函数体。抽象类:被abstarct修饰的类...
  • 一、抽象类的基本概念普通类是一个完善的功能类,可以直接产生实例化对象,并且在普通类中可以包含有构造方法、普通方法、static方法、常量和变量等内容。而抽象类是指在普通类的结构里面增加抽象方法的组成部分。...
  • 标签: java抽象类概念理解抽象类与接口区别抽象类与普通类区别 2017-05-04 16:26 1029人阅读 评论(0) 收藏 举报  分类: Java(17)  版权声明:本文为博主csdn_aiyang原创文章,未经博主...
  • java抽象_Java抽象类

    2021-02-27 07:50:17
    抽象类可以有①成员变量、②方法(普通方法和抽象方法都可以)、③构造器(不能用于创建实例,限于被子类调用)、④初始化块、⑤内部类(接口、枚举);含有抽象方法的类只能被定义为抽象类。1.2抽象方法及抽象类的代码...
  • 一、抽象类普通类 二、抽象类与接口 三、小结 概念 抽象类和具体类是相对的概念。“抽象”是一种存在思想逻辑中的概念,而“具体”是一种可见可触摸的现实对象。简单说,比如“人”比“男人”抽象一点,...
  • final关键字final 修饰符 可以修饰 类、属性、方法修饰类时 表示该类不能被继承 其他特征 跟普通的类一样修饰 属性时 表示 改属性不能改变 并且 必须赋初始值修饰方法时 表示该方法不能被重写什么是抽象类?...
  • 抽象类【关键知识点】被 abstract 修饰的类,无法被实例化,只能被继承,继承抽象类的类可以是普通的实现类也可以是抽象类;如果是实现类,必须实现抽象类的全部方法;如果依然是一个抽象类则不必实现父抽象类的任何...
  • Java抽象类

    2020-12-26 09:54:56
    Java抽象类什么是抽象抽象类的特点 什么是抽象 抽象类是为了把相同的但不确定的东西的提取出来,为了以后的重用。定义成抽象类的目的,就是为了在子类中实现抽象类。 抽象类的特点 1.由abstract修饰的类叫做抽象类,...
  • Java抽象类、接口、内部类(静态内部类,非静态内部类、匿名内部类)、枚举类 知识点总结一.抽象类类的基本特征也就是属性 、构造器、方法\这里从这三个方面介绍抽象类1.关键字:abstract2.基本要点:普通类里面有的...
  • 抽象类:普通类抽象类都可以被继承,但是抽象类被继承后子类必须重写继承的方法,除非自类也是抽象类。  2.普通类:普通类可以去实例化调用;抽象类不能被实例化,因为它是存在于一种概念而不非具体。  3.接口: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,400
精华内容 1,360
关键字:

java抽象类普通类

java 订阅