前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Java易错知识点总结(四)

Java易错知识点总结(四)

作者头像
C_H
发布于 2022-11-15 06:52:49
发布于 2022-11-15 06:52:49
25600
代码可运行
举报
文章被收录于专栏:笔记c笔记c
运行总次数:0
代码可运行

目录

1.继承

1.Java只支持单继承,不支持多继承

2.Java支持多层继承

2.接口

1.接口不可以实现另一个接口

2.接口可以继承另一个接口

3.接口可以继承多个接口

4.接口不可以继承一个抽象类

5.抽象类可以实现多个接口

6.类可以多实现接口

7.一个类应该先继承类再实现接口

3.抽象类和抽象方法

易错知识

抽象方法的关键字abstract不能与private,final,static共存

4.接口的定义与实现

易错知识:

5.接口回调

6.abstract类与接口的比较


1.继承

1.Java只支持单继承,不支持多继承

class A extends B{}      //true class A extends B,C{}  //false

2.Java支持多层继承

class A{} class B extends A{}    class C extends B{}   

2.接口

先定义一些接口和类:

interface a{} interface b{} interface c{} abstract class AA{}

  • 1.接口不可以实现另一个接口
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
interface d implements a{}  		(False)
  • 2.接口可以继承另一个接口
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
interface e extends a{}				(True)
  • 3.接口可以继承多个接口
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
interface f extends a,b,c{} 		(True)
  • 4.接口不可以继承一个抽象类
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
interface g extends AA{}			(False)
  • 5.抽象类可以实现多个接口
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
abstract class h implements a,b,c{}	(True)
  • 6.类可以多实现接口
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class i implements a,b,c{}			(True)
  • 7.一个类应该先继承类再实现接口
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class k extends AA implements a{}	(True)
class j implements a extends AA{}	(False)

3.抽象类和抽象方法

易错知识

abstract类中可以有抽象方法,也可以有非抽象方法 一个非抽象类是某个抽象类的子类,那么他必须重写父类的抽象方法 抽象类中可以有构造函数 抽象类是不能实例化的,可以靠非抽象子类来实例化

抽象方法的关键字abstract不能与private,final,static共存

抽象方法必须由子类来实现,不能加private final修饰的方法不可以被覆盖(重写) static方法是由类来实现的

4.接口的定义与实现

接口体中包含常量(不允许有变量)(public、final可以省略) 接口体中的方法一定是抽象方法,且访问权限是public(public、abstract可以省略) 抽象方法不含方法体{}

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
interface Printable{
	public final int x=100;
	public abstract void add();
}

也可以写成

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
interface Printable{
	int x=100;
	void add();
}

易错知识:

如果一个非抽象类实现了某个接口,那么这个类必须重写该接口的所有方法 接口中的方法都是public修饰的(public可以省略),非抽象类重写该接口的所有方法,访问权限必须为public(不能降低访问权限) 如果一个类声明实现一个借口,但没有重写接口中的所有方法,那么这个类必须是abstract类

被重写的方法

重写的方法

public

public

protected

public/protected

友好

public/protected/友好

5.接口回调

接口回调与上转型对象调用子类重写的方法类似

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
interface Playable{
	void play();
}
class Cat implements Playable{
	public void play(){
		System.out.println("cat");
	}
}
public class Test{
	public static void main(String[] args){
		Playable xx=new Cat();		声明接口变量,且在接口变量中存放对象的引用
		xx.play();                  接口回调
	}
}

6.abstract类与接口的比较

abstract类和接口都可以有abstract方法 接口中只可以有常量,不能有变量;而abstract类中既可以有常量也可以有变量 abstract类中可以有非abstract方法,而接口不可以

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【Java】抽象类和接口
2.抽象类必须被继承,并且继承后子类要重写父类中的抽象方法,否则编译器会报错,但如果子类也是抽象类,那么其子类可以不对父类中的抽象类进行重写
喜欢做梦
2024/11/25
1250
【Java】抽象类和接口
Java开发知识之Java的继承多态跟接口*
继承的含义以及作用: 继承就是基于某个父类的扩展.制定出来的一个新的子类.子类可以继承父类原有的属性跟方法. 也可以自己增加特有的属性跟方法.
IBinary
2019/05/25
5880
【JAVA基础&高级】“面向对象篇” 知识点汇总
由于近期需要用到基础以及底层的一些知识点,所以借此机会找来了一些学习的资料,用于对 JAVA 面向对象相关的知识点进行复盘、巩固,并且在此将一些重点的知识点做相关的记录,在后续的实际开发工作中遇到这些知识点相关的内容都会在本篇笔记中进行记录、迭代。
LCyee
2020/08/25
1.2K0
【JAVA基础&高级】“面向对象篇” 知识点汇总
关于Java面向对象的分析题
分析程序看有没有问题,如果有,说出原因即可。 ----------------------------------------------------------------------------- 1.
黑泽君
2018/10/11
3980
Java基础语法(八)——面向对象
千呼万唤始出来,Java的这篇面向对象介绍终于出炉… 在草稿箱积压了半年的存货终于发布。。。。
RAIN7
2022/04/11
3330
Java基础语法(八)——面向对象
java基础第七篇之接口
* 接口的方法 必须是public abstract 修饰,你可以不写,也可以选择性写,但是不写不代表没有(我们建议写)
海仔
2019/08/05
4290
JavaSE学习总结(六)——接口与抽象类
张果
2018/01/04
6510
JavaSE学习总结(六)——接口与抽象类
JAVA 面向对象
/* * import关键字 引用包 用于在不同的包下面去调用其他包里面的对象 * package定义包 * this与super()的方法 * * this表示该类本身。super是一个方法,表示调用父类的构造方法,super();必须放在构造函数的第一行 * 通过super调用父类的成员或方法。 所有的构造函数中都会默认调用super(); 权限修饰符 ---- * 权限的分类 * public 公有的 权限最大 所有创建对象的地方都可以使用 * pri
拾点阳光
2018/05/10
1K0
JAVA17/JAVA21接口和多态机制
如果实现类,同时继承父类,实现接口,父类和接口的方法名、访问权限、返回类型都一样,则“类优先”原则。
用户9184480
2024/12/13
1290
JAVA17/JAVA21接口和多态机制
Java OOP 式编程
我们知道 OOP的三大特性分别是封装,继承,多态,接下来我就以几个简单的实例展示Java的面向对象的特性以及示例代码
Gorit
2021/12/09
3440
Java OOP 式编程
java——抽象类和接口有什么区别
在运行时多态/动态绑定中通常会有些类中的方法没有具体的实现,而是在在被子类继承和重写之后才会安排具体的执行方法
小雨的分享社区
2022/10/26
2790
【Java 学习】:抽象类&接口
💢💢在Java中,一个类如果被 abstract 修饰称为抽象类,抽象类中被 abstract 修饰的方法称为抽象方法,抽象方法不用给出具体的实现体。
IsLand1314
2024/10/15
1660
【Java 学习】:抽象类&接口
Java 继承详解
多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。
用户7886150
2020/12/08
8100
【13】JAVASE-面向对象-接口【从零开始学JAVA】
Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。
用户4919348
2024/05/25
750
【13】JAVASE-面向对象-接口【从零开始学JAVA】
Java-接口
建立通用接口的目的是:使子类继承从而不同的子类可以用不同的方式表示此接口。通用接口建立起一种基本的形式,以此表示所有子类的共同部分。可以称这种的类为抽象类,创建抽象类是希望通过这个通用接口操纵一系列。
桑鱼
2021/09/07
2850
Java接口 详解(一)
接口(Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合。接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。
用户7886150
2021/04/23
1.3K0
第十八节:详解Java抽象类和接口的区别
在Java中,实现抽象的机制分两种,一为抽象类,二为接口。 抽象类为abstract class,接口为Interface。
达达前端
2019/07/03
4430
第十八节:详解Java抽象类和接口的区别
【Java基础语法】抽象类和接口
在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
用户11288949
2024/09/24
840
【Java基础语法】抽象类和接口
Java 基础 - 知识点
基本数据类型包括 boolean(布尔型)、float(单精度浮点型)、char(字符型)、byte(字节型)、short(短整型)、int(整型)、long(长整型)和 double (双精度浮点型)共 8 种。
郭顺发
2021/12/17
6290
Java 基础 - 知识点
Java类之接口
abstract可以定义抽象类,extends可以定义继承。但是对于Java这个语言,它的继承相对与CPP它舍弃了多继承,防止关系太多耦合,易混淆。
JanYork_简昀
2022/03/29
2710
Java类之接口
相关推荐
【Java】抽象类和接口
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文