继承、接口和抽象类

继承

子类继承父类

物以类聚->提取共同点形成父类(parent)/基类(base)/超类(super)

子类/派生类继承父类

子类也会继承父类的属性(成员变量)和方法,私有的成员变量(private)除外,private变量要用public方法去访问。

同名同参情况下,本类的方法会比父类的方法优先级高。

单根继承:每个类都只能继承一个类(C++可以多个类)

不写extends,java类默认继承于java.lang.Object类,默认有方法toSrting,clone,equals,finalize,getClass,hashCode。

构造函数:初始化属性值,子类继承父类的时候会在构造函数第一句加super(),来继承父类的构造方法;如果你自己写了super那么编译器就不会给你加。

抽象类和接口

类=属性(成员变量)+方法

有方法就要实现也就是一定要有{};如果没有实现方法就会被成为抽象类(abstract)

抽象类不能new出对象

子类继承抽象类就一定要实现它的所有abstract方法否者子类还是得定义为抽象类

接口

原文地址:https://www.cnblogs.com/linfeng-up/p/11780169.html

时间: 2024-10-12 15:48:40

继承、接口和抽象类的相关文章

C#OOP之八 继承 接口和抽象类

继承 在现实生活中有所谓的"种瓜得瓜.种豆得豆"的说法,在生物学概念上就是"遗传"的概念,在面向对象中"继承"就类似于生物学中的遗传,通过继承,可以更好的实现代码的重用(复用,多次使用的意思).增加扩展性.简化代码等. 下面是现实生活中的引用: 定义与使用继承 继承一次最常用的就是通过合法程序(比如遗嘱)从别人那里接受财产或爵位等,有点类似于世袭制. 另外一个含义,是人从父母那里继承一些特征,如果孩子从父母继承的身高.相貌等特征.那么在什么情况下

类与接口的继承 接口与抽象类 抽象工厂

为什么Java里面只允许单一继承,但允许实现多个接口? 1,接口可以继承多个接口.为什么不能实现类的多继承?主要是防止多个类有相同的方法名,然而方法体不一样,子类就比较难选择了.所以java和C#不支持类的多继承2,允许具有多个接口的一个好处就是,当实现多个接口时,如果两个接口有同样的方法,那么实现一次就可以了.由于接口没有方法体,所以接口可以实现多继承. 如何间接实现类的多重继承? 1.可以通过继承多个接口实现多重继承. 2.A -> B -> C .

【Java面试题】60 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否可以有静态的main方法?

接口可以继承接口.抽象类可以实现(implements)接口,抽象类可以继承具体类.抽象类中可以有静态的main方法. 问:  抽象类是否可继承实体类 (concrete class) 答: 抽象类是可以继承实体类,但前提是实体类必须有明确的构造函数. 答案很明确,可以继承.其实从Object就是个实体类,Java的API文档里,每个抽象类的条目里都明确写着直接或间接继承自Object,所以这点是没有疑问的. 关键在于这答案里所说的"前提是实体类必须有明确的构造函数"一句,是什么意思.

15、接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concreteclass)?抽象类中是否可以有静态的main方法?

接口可以继承接口.抽象类可以实现(implements)接口,抽象类可以继承具体类.抽象类中可以有静态的main方法. 问:  抽象类是否可继承实体类 (concrete class) 答: 抽象类是可以继承实体类,但前提是实体类必须有明确的构造函数. 答案很明确,可以继承.其实从Object就是个实体类,Java的API文档里,每个抽象类的条目里都明确写着直接或间接继承自Object,所以这点是没有疑问的. 关键在于这答案里所说的“前提是实体类必须有明确的构造函数”一句,是什么意思. 一般学习

接口和抽象类该什么时候用?

以操作数据库为例:既然是操作数据库就必须会用到 Insert Update Select ,所以Insert Update Select 做成接口 但是,每个功能操作的内容又不一样,所以,做一个抽象类继承接口然后抽象类的派生类去实现抽象类的具体方法 面向对象,就是要把一些代码上的东西当成实体来理解.实体有本身的属性和行为.比如你这个对数据库的操作,你就要把数据库当做一个对象,其行为可以是增删改查.所以你应该声明一个类去进行这些操作.当然,考虑到各种业务的特性,你还可以将这些类抽象出来,声明一个接

[Think In Java]基础拾遗1 - 对象初始化、垃圾回收器、继承、组合、代理、接口、抽象类

目录 第一章 对象导论第二章 一切都是对象第三章 操作符第四章 控制执行流程第五章 初始化与清理第六章 访问权限控制第七章 复用类第九章 接口 第一章 对象导论 1. 对象的数据位于何处? 有两种方式在内存中存放对象: (1)为了追求最大的执行速度,对象的存储空间和生命周期可以在编写程序时确定,这可以通过将对象置于堆栈或者静态存储区域内来实现.这种方式牺牲了灵活性. (2)在被称为堆的内存池中动态地创建对象.在这种方式,知道运行时才知道对象需要多少对象,它们的生命周期如何,以及它们的具体类型.

接口、接口优点、接口的属性和方法特性、接口与继承的区别、接口与抽象类的区别、匿名实现类、JDK1.8新特性、打印类名称

接口里的属性,必须是公共的/默认的&静态的&Final&初始化后的属性: 接口里所有方法都是抽象的. 接口和继承---先天有的用继承,后天学习的用接口: 接口特性-------- 1.接口不可以被实例化: 2.实现类必须实现接口中所有方法,否则实现类必须是抽象类 3.实现类可以实现多个接口,来弥补Java不能多继承: 4.接口中的变量都是静态常量:(静态的-可以通过类的名字点-直接调用:) ----------------------------------------------

Python开发基础-Day18继承派生、组合、接口和抽象类

类的继承与派生 经典类和新式类 在python3中,所有类默认继承object,但凡是继承了object类的子类,以及该子类的子类,都称为新式类(在python3中所有的类都是新式类) 没有继承object类的子类成为经典类(在python2中,没有继承object的类,以及它的子类,都是经典类) 1 class People: 2 pass 3 class Animal: 4 pass 5 class Student(People,Animal): #People.Animal称为基类或父类,

python开发面向对象基础:接口类&抽象类&多态&多继承

一,接口类 继承有两种用途: 一:继承基类的方法,并且做出自己的改变或者扩展(代码重用) 二:声明某个子类兼容于某基类,定义一个接口类Interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子类继承接口类,并且实现接口中的功能 开发中容易出现的问题 1 class Alipay: 2 ''' 3 支付宝支付 4 ''' 5 def pay(self,money): 6 print('支付宝支付了%s元'%money) 7 8 class Applepay: 9 ''' 1

类的相关知识(封装、继承、多态、方法、构造方法、接口、抽象类、静态方法、静态变量等)

类 通过抽象,得到的某一个事物的共同特征. 1.类是抽象的,概念的,代表一类事物,比如人类,猫类-- 2.对象是具体的,实际的,代表一个具体事物 3.类是对象的模板,对象是类的一个个体,实例 class Cat           // Java中类名的首字母大写 { //下面的就是类的成员变量.属性 Int age; String name; String color; } 类的结构: Package 包名: Class 类名 extends 父类 implements 接口名 { 成员变量(