-
java接口构造方法吗_Java中抽象类和接口中有构造方法吗?
2021-02-26 09:24:53①在接口中 不可以有构造方法在接口里写入构造方法时,编译器提示:Interfaces cannot have constructors。A. 构造方法用于初始化成员变量,但是接口没有成员变量。接口是一种规范,被调用时,主要关注的是里边的...Java中抽象类和接口中有构造方法吗?
①在接口中 不可以有构造方法
在接口里写入构造方法时,编译器提示:Interfaces cannot have constructors。
A. 构造方法用于初始化成员变量,但是接口没有成员变量。接口是一种规范,被调用时,主要关注的是里边的方法,而方法是不需要初始化的,
B. 类可以实现多个接口,若多个接口都有自己的构造器,则不好决定构造器链的调用次序
C. 构造器是属于类自己的,不能继承。因为是纯虚的,接口不需要构造器。
②在抽象类中 可以有构造方法。
在抽象类中可以有构造方法,只是不能直接创建抽象类的实例对象,但实例化子类的时候,就会初始化父类,不管父类是不是抽象类都会调用父类的构造方法,初始化一个类,先初始化父类。
构造函数是对象的基本,没有构造函数就没有对象。
若果在父类中(这里就是你的抽象类)中显示的写了含参的构造函数,在子类继承是就必须写一个构造函数来调用父类的构造函数。
abstract class Person { //定义一个抽象类,必须被继承
Person(int i) {
}
}
public class Student extends Person {
Student() {
super(int i)://必须显示的调用父类构造方法//super代表父类对象
}
}
补充:构造方法、抽象类、接口的定义:
①构造函数(构造器、构造函数):构造函数是一种特殊的函数。其主要功能是用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。
A.方法名与类名相同;
B.没有返回类型(例如return、void等);
C.不能被static、final、native、abstract和synchronized修饰,不能被子类继承。
D.父类的构造方法不能被子类调用,可以通过super语句调用父类的构造方法。
E.构造方法可以重载,以参数的个数,类型,顺序,分为空参构造方法和有参构造方法。
②抽象类:使用了关键词abstract声明的类叫作“抽象类”。如果一个类里包含了一个或多个抽象方法,类就必须指定成abstract(抽象)。“抽象方法”,属于一种不完整的方法,只含有一个声明,没有方法主体。
注:
抽象类中不一定有抽象方法,抽象方法一定存在于抽象类中。
继承抽象类的可以是普通类,但必须重写抽象类中的所有抽象方法,也可以是抽象类,无需重写抽象类中的所有抽象方法。
③接口:接口是一种规范,是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
注:
可以说是一种特殊的抽象类,里面的方法全是抽象方法。
子类实现接口必须对接口中的方法全部重写。
接口和抽象类的语法区别:
1)接口不能有构造方法,抽象类可以有。
2)接口不能有方法体,抽象类可以有。
3)接口不能有静态方法,抽象类可以有。
4)在接口中凡是变量必须是public static final,而在抽象类中没有要求。
-
[Java基础]Java中抽象类和接口中有构造方法吗?
2017-07-05 10:56:131.时间:2017-07-05 10:25:44 YuanMxy ...①在接口中 不可以有构造方法 在接口里写入构造方法时,编译器提示:Interfaces cannot have constructors。 A. 构造方法用于初始化成员变量,但是接口成员变量是###1.时间:2017-07-05 10:25:44 YuanMxy
###2.问题描述:Java中抽象类和接口中有构造方法吗?
###3.问题解答:
####(1)Java中抽象类和接口中有构造方法吗?
#####①在接口中 不可以有构造方法
在接口里写入构造方法时,编译器提示:Interfaces cannot have constructors。
A. 构造方法用于初始化成员变量,但是接口成员变量是常量,无需修改。接口是一种规范,被调用时,主要关注的是里边的方法,而方法是不需要初始化的,
B. 类可以实现多个接口,若多个接口都有自己的构造器,则不好决定构造器链的调用次序
C. 构造器是属于类自己的,不能继承。因为是纯虚的,接口不需要构造器。
#####②在抽象类中 可以有构造方法。
在抽象类中可以有构造方法,只是不能直接创建抽象类的实例对象,但实例化子类的时候,就会初始化父类,不管父类是不是抽象类都会调用父类的构造方法,初始化一个类,先初始化父类。
####(2)补充:构造方法、抽象类、接口的定义:
#####①构造函数(构造器、构造函数):构造函数是一种特殊的函数。其主要功能是用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。
A.方法名与类名相同;
B.没有返回类型(例如return、void等);
C.不能被static、final、native、abstract和synchronized修饰,不能被子类继承。
D.父类的构造方法不能被子类调用,可以通过super语句调用父类的构造方法。
E.构造方法可以重载,以参数的个数,类型,顺序,分为空参构造方法和有参构造方法。
#####②抽象类:使用了关键词abstract声明的类叫作“抽象类”。如果一个类里包含了一个或多个抽象方法,类就必须指定成abstract(抽象)。“抽象方法”,属于一种不完整的方法,只含有一个声明,没有方法主体。
注:
抽象类中不一定有抽象方法,抽象方法一定存在于抽象类中。
继承抽象类的可以是普通类,但必须重写抽象类中的所有抽象方法,也可以是抽象类,无需重写抽象类中的所有抽象方法。
#####③接口:接口是一种规范,是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
注:
可以说是一种特殊的抽象类,里面的方法全是抽象方法。
子类实现接口必须对接口中的方法全部重写。#####接口和抽象类的语法区别:
1)接口不能有构造方法,抽象类可以有。
2)接口不能有方法体,抽象类可以有。
3)接口不能有静态方法,抽象类可以有。
4)在接口中凡是变量必须是public static final,而在抽象类中没有要求。 -
Java中抽象类和接口中可以有构造方法吗?
2018-04-12 23:43:00Java中抽象类和接口中可以有构造方法吗? ----------------------------------------------------------------------------- (1)Java中抽象类和接口中有构造方法吗? ①在接口中 不可以有构造方法。 在接口里...Java中抽象类和接口中可以有构造方法吗?
----------------------------------------------------------------------------- (1)Java中抽象类和接口中有构造方法吗? ①在接口中 不可以有构造方法。 在接口里写入构造方法时,编译器提示:Interfaces cannot have constructors 注: A. 构造方法用于初始化成员变量,但是接口成员变量是常量,无需修改。接口是一种规范,被调用时,主要关注的是里边的方法,而方法是不需要初始化的。 B. 类可以实现多个接口,若多个接口都有自己的构造器,则不好决定构造器链的调用次序。 C. 构造器是属于类自己的,不能继承。因为是纯虚的,接口不需要构造器。 ②在抽象类中 可以有构造方法。 在抽象类中可以有构造方法,只是不能直接创建抽象类的实例对象, 但实例化子类的时候,就会初始化父类,不管父类是不是抽象类都会调用父类的构造方法,初始化一个类,先初始化父类。 ----------------------------------------------------------------------------- (2)补充:构造方法、抽象类、接口的定义: ①构造函数(构造器、构造函数): 构造函数是一种特殊的函数。其主要功能是用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。 注: A. 方法名与类名相同。 B. 没有返回类型(例如return、void等)。 C. 不能被static、final、native、abstract和synchronized修饰,不能被子类继承。 D. 父类的构造方法不能被子类调用,可以通过super语句调用父类的构造方法。 E. 构造方法可以重载,以参数的个数、类型、顺序,分为空参构造方法和有参构造方法。 ------------------------------------ ②抽象类: 使用了关键词abstract声明的类叫作“抽象类”。 如果一个类里包含了一个或多个抽象方法,类就必须指定成abstract(抽象)。 “抽象方法”,属于一种不完整的方法,只含有一个声明,没有方法主体。 注: 抽象类中不一定有抽象方法,抽象方法一定存在于抽象类中。 继承抽象类的可以是普通类,但必须重写抽象类中的所有抽象方法,也可以是抽象类,无需重写抽象类中的所有抽象方法。 ------------------------------------ ③接口: 接口是一种规范,是一系列方法的声明,是一些方法特征的集合, 一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。 注: 可以说是一种特殊的抽象类,里面的方法全是抽象方法。 子类实现接口必须对接口中的方法全部重写。 ----------------------------------------------------------------------------- 接口和抽象类的语法区别: 1)接口不能有构造方法,抽象类可以有。 2)接口不能有方法体,抽象类可以有。 3)接口不能有静态方法,抽象类可以有。 4)在接口中凡是变量必须是 public static final修饰,而在抽象类中没有要求。 -----------------------------------------------------------------------------
我的博客园地址:http://www.cnblogs.com/chenmingjun
我的蚂蚁笔记博客地址:http://blog.leanote.com/chenmingjun
Copyright ©2018 黑泽明军
【转载文章务必保留出处和署名,谢谢!】 -
Java中抽象类和接口中有构造方法吗?
2019-04-05 09:28:50①在接口中 不可以有构造方法 在接口里写入构造方法时,编译器提示:Interfaces cannot have constructors。 A. 构造方法用于初始化成员变量,但是接口成员变量是常量,无需修改。接口是一种规范,被调用时,主要...2.问题描述:Java中抽象类和接口中有构造方法吗?
3.问题解答:
(1)Java中抽象类和接口中有构造方法吗?
①在接口中 不可以有构造方法
在接口里写入构造方法时,编译器提示:Interfaces cannot have constructors。
A. 构造方法用于初始化成员变量,但是接口成员变量是常量,无需修改。接口是一种规范,被调用时,主要关注的是里边的方法,而方法是不需要初始化的,
B. 类可以实现多个接口,若多个接口都有自己的构造器,则不好决定构造器链的调用次序
C. 构造器是属于类自己的,不能继承。因为是纯虚的,接口不需要构造器。
1234②在抽象类中 可以有构造方法。
在抽象类中可以有构造方法,只是不能直接创建抽象类的实例对象,但实例化子类的时候,就会初始化父类,不管父类是不是抽象类都会调用父类的构造方法,初始化一个类,先初始化父类。
1(2)补充:构造方法、抽象类、接口的定义:
①构造函数(构造器、构造函数):构造函数是一种特殊的函数。其主要功能是用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。
A.方法名与类名相同;
B.没有返回类型(例如return、void等);
C.不能被static、final、native、abstract和synchronized修饰,不能被子类继承。
D.父类的构造方法不能被子类调用,可以通过super语句调用父类的构造方法。
E.构造方法可以重载,以参数的个数,类型,顺序,分为空参构造方法和有参构造方法。
12345②抽象类:使用了关键词abstract声明的类叫作“抽象类”。如果一个类里包含了一个或多个抽象方法,类就必须指定成abstract(抽象)。“抽象方法”,属于一种不完整的方法,只含有一个声明,没有方法主体。
注:
抽象类中不一定有抽象方法,抽象方法一定存在于抽象类中。
继承抽象类的可以是普通类,但必须重写抽象类中的所有抽象方法,也可以是抽象类,无需重写抽象类中的所有抽象方法。
123③接口:接口是一种规范,是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
注:
可以说是一种特殊的抽象类,里面的方法全是抽象方法。
子类实现接口必须对接口中的方法全部重写。
123接口和抽象类的语法区别:
1)接口不能有构造方法,抽象类可以有。
2)接口不能有方法体,抽象类可以有。
3)接口不能有静态方法,抽象类可以有。
4)在接口中凡是变量必须是public static final,而在抽象类中没有要求。
作者:YuanMxy
来源:CSDN
原文:https://blog.csdn.net/YuanMxy/article/details/74389953
-
Java中抽象类和接口中有构造方法吗?
2019-04-18 20:22:00①在接口中 不可以有构造方法 在接口里写入构造方法时,编译器提示:Interfaces cannot have constructors。 A. 构造方法用于初始化成员变量,但是接口成员变量是常量,无需修改。接口是一种规范,被调用时,主要关注... -
java接口有构造函数吗_接口为什么不能有构造函数
2021-03-04 08:34:00它们的语法区别:1)接口不能有构造方法,抽象类可以有。2)接口不能有方法体,抽象类可以有。3)接口不能有静态方法,抽象类可以有。4)在接口中凡是变量必须是public static final,而在抽象类中没有要求。忽然有此... -
java抽象类构造方法_Java 抽象类中构造方法的作用?如何理解?
2021-02-12 15:25:38java抽象类的构造方法和普通类的构造方法一样都是用来初始化类只是抽象类的构造方法不能直接调用 因为抽象类不能实现实例但是一旦一个普通类继承了抽象类 便也可以在...①在接口中 不可以有构造方法在接口里写入构... -
Java 接口没有构造方法,默认修饰,多继承,属性初始化
2019-04-26 17:31:431.修饰interface的访问修饰符只能是public或者无...2.接口不可以有构造方法 3.接口允许多继承,但继承的一定要是接口,不可以是类,不可以是抽象类 下面的One ,Two是接口 interface Test extends One,Two{ } 4.... -
JAVA 构造方法、接口总结
2018-10-31 20:29:51构造方法 1.能够快速的给成员变量初始化。 ...2.一个类默认有一个构造方法,是空参的。 eg. public Person(){} 对象进入堆内存,先对自己的成员变量赋默认值,再调用自己的构造方法。 eg. new ... -
java接口构造函数_java8新特性——函数式接口,方法,构造器,数组引用
2021-02-12 16:01:52使用情景:当要传递给lambda体的操作,已经有实现的方法了,可以使用方法引用2.方法引用:本质上就是lambda表达式,而lambda作为函数式接口的实例,所以方法引用,也是函数式接口的实例3.使用格式:类::静态方法名类... -
Java构造方法
2019-04-18 15:41:50• 构造方法是一种特殊的方法,它是一个与类同名且无返回值类型(连void也不能有)的方法。...• 类中必定有构造方法,若不写,系统自动添加无参构造。(接口不能被实例化,所以接口中没有构造方法。) 方法的... -
匿名内部类可以有构造方法_Java入门教程十(抽象类接口内部类匿名类)
2021-01-27 08:18:29Java 接口的方法只能是抽象的和公开的,Java 接口不能有构造方法,Java 接口可以有 public、Static 和 final 属性。 接口把方法的特征和方法的实现分隔开来,这种分隔体现在接口常常代表一个角色,它包装与该角色... -
java接口构造函数_Java 面向对象 接口(interface)
2021-03-06 03:41:111、Java 接口(interface)在Java中实现抽象的另一种方法是使用接口(interface)。接口(interface)是抽象方法和常量值的定义的集合。从本质上讲,接口是一种特殊...有了接口,就可以得到多重继承的效果。下面看一下接口... -
匿名内部类可以有构造方法_Java匿名类,Java匿名内部类
2021-01-28 12:14:32匿名类是指没有类名的内部类,必须在创建时使用 new 语句来声明类。其语法形式如下:new () { // 类的主体};这种形式的 new 语句声明一个新的...实现一个接口(可以是多个),实现其方法。下面通过代码来说明。public ... -
java在抽象基类构造函数调用该抽象方法_Java抽象类和接口的面试题
2021-03-01 06:01:551.Java抽象类可以有构造函数吗?可以有,抽象类可以声明和定义构造函数。因为你不可以创建抽象类实例,所以构造函数链调用(Java中构造函数链指的是从其他构造函数调用一个构造函数),例如,当你创建具体的实现类。有... -
JAVA抽象类不能实例化为什么有构造方法
2020-11-15 00:07:20java规定类都要有一个构造方法,没有默认提供一个空参构造 构造方法不是用来实例化的,而是用来给属性初始化赋值的,抽象方法可以定义属性,那么就需要构造方法给属性赋值。这里就可以理解为什么接口没有构造方法了... -
Java学习笔记83. 枚举的构造方法和接口
2018-03-12 00:04:25枚举相当于一个类,所以它也是有构造方法的。如果显式地写出了枚举的构造方法,那么就必须在创造枚举对象时,相应地显式引用,否则就会出错。这也是Java的运行机制之一。枚举中的每一个元素,其实就相当于一个对象的... -
java中构造方法和普通方法的区别
2021-01-27 13:19:26普通方法大家肯定都见过,有修饰符修饰的方法可以有返回值也有的没有返回值。 而构造方法呢?举个例子应该很快就懂了,当一个类...2.类中必定有构造方法,若不写,系统自动添加无参构造方法。接口不允许被实例化,所 -
Java基础之构造方法及其应用
2016-09-27 19:27:00构造方法是一种特殊的方法,它是一个与类同名且无返回值类型(连void也不能有)的方法。...类中必定有构造方法,若不写,系统自动添加无参构造。(接口不能被实例化,所以接口中没有构造方法。) 实例演示... -
java 接口 好处_java接口有什么用处或好处
2021-03-05 23:46:15接口1 因为java不支持多重继承,所以有了接口,一个类只能继承一个父类,但可以实现多个接口,接口本身也可以继承多个接口。2 接口里面的成员变量默认都是public static final类型的。必须被显示的初始化。3 接口... -
Java8接口默认方法重写和显示调用父类构造器
2020-10-09 15:47:34接口和实现类 接口里面的属性,默认就是public static final修饰...jdk1.8之后可以有默认方法和静态方法 interface Hero { default String m1() { return "m1"; } } public class Xmen implements Hero{ publ -
java子类怎么调用父类的构造方法_java子类怎么调用父类的构造方法
2021-03-01 06:34:04顶java的确有其局限性,但应该不是你所说的这个场景应该是你代码写的有问题那我这个场景应该怎么写呢你这种情况,应该用接口,而...如你所云:/*用创建Boy的构造方法造就出一个男孩,但其引用可以是Person类。*/Pers... -
Java 接口
2020-03-29 18:02:52Java接口的方法只能是抽象的和公开的,Java接口不能有构造器,Java接口可以有public、static和final属性。 接口把方法的特征和方法的实现分割开来。这种分割体现在接口常常代表一个角色,它包装与该角色相关的操作和... -
构造方法,构造方法重载,什么是复制构造方法?求N的阶乘?Java环境搭建:JDK、JRE、JVM关系?
2020-11-16 16:15:13## 抽象类与接口的比较 1、什么是抽象类? 就是对类更高的抽象。...2)用abstract关键字来修饰一个方法时,这个方法就是抽象方法,抽象方法不能有主体【即不能实现】;用abstract关键字来修饰一个类是, -
Java 8 函数式接口、lambda表达式、方法以及构造器引用
2017-04-22 16:59:52函数式接口使用背景我们知道,java是一门面向对象编程语言,java中一切都是面向对象的(除了原始数据类型)。在java中函数(方法)是类/对象的一部分,不能单独存在。而其他一些函数式编程语言如C++、Javascript等语言...