抽象类和抽象方法接口和多态

抽象类与普通类的区别:
1、抽象类中可以写抽象方法,普通类不可以;
2、抽象类不能直接创建对象,普通类可以;
3、抽象类中可以没有抽象方法,但是仍然不能创建对象。

抽象类的常见问题
1、抽象类一定是父类,因为是不断向上抽取而来。
2、实际开发中,建议先写抽象的父类,在根据具体的子类编写功能。
3、有抽象方法的类一定是抽象类,在抽象类中,可以没有抽象方法。
没有抽象方法的类是一种特殊的设计模式;(适配器模式)
4、如果抽象A定义了一个抽象的a方法,如果B类继承A的时候,没有重写a方法,B类也必须抽象。

(接口和多态)
接口中只能写两种成员:一种是常量(需要使用final关键字修饰),另一种是抽象方法
接口不能直接创建对象
接口可以继承接口,而且可以多继承
接口与类之间的关系,只能是类实现接口
一个类在继承另一个类的时候,可以实现多个接口
当子类实现多个接口时,出现相同的方法规范时,只需要重写一次即可。
该类必须重写接口中所有的抽象方法;如果不能全部重写,那么这个类只能是抽象类。

接口与抽象类的区别:
相同点:
1、都不能创建对象
2、都可以写抽象方法
3、都必须有子类才可以创建子类的对象

多态:
表现形式:父类或接口类型 变量名 = new 子类();
多态必须有继承或实现,才可以实现多态的形式
多态形式下方法执行的规则
当父类有某个方法的时候(不论是否为抽象方法),多态形式下的子类对象,都可以调用该方法
,如果父类中没有这个方法(子类中有),那么多态形式下的子类对象是 不能直接调用子类独有的方法。
总结:编译看左边,运行看右边;
多态形式下的成员变量:编译和运行都看左边

多态的类型转换

类型的自动提升
小转大,java自动转型
大的数据类型 变量名 = 小的数据值

强制类型转换
大的数据类型 变量名 = (大的数据类型)被转换的对象

instanceof关键字用来判断多态形式下的对象的原始类型
格式:多态形式的对象 instanceof 数据类型,返回值类型为boolean类型
类型强制下降

时间: 2024-12-17 18:56:13

抽象类和抽象方法接口和多态的相关文章

java基础三 [深入多态,接口和多态](阅读Head First Java记录)

抽象类和抽象方法 1.抽象类的声明方法,在前面加上抽象类的关键词abstract abstract class canine extends animal{ public void roam(){} } 抽象类除了被继承过之外,是没有用途,没有值,没有目的.类中的方法可以当做子类的合约内容,合约是对其他程序的承诺协议 抽象类中可以带有抽象和非抽象的方法 如果类中有抽象方法,则类必定标识为抽象的. 2.抽象的方法没有实体 (因为方法中的程序代码没有意义.抽象类需要被extend过有意义,抽象方法一

Java基础学习笔记八 Java基础语法之接口和多态

接口 接口概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”.接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样将功能的定义与实现分离,优化了程序设计.请记住:一切事物均有功能,即一切事物均有接口. 接口的定义 与定义类的class不同,接口定义时需要使用interface关键字.定义接口所在的仍为.java文件,虽然声明时使用的为interface关键字的编译后仍然会产生.class文件.这点可以让我们将接口看做是一种

java学习--基础知识进阶第三天--接口、多态

今日内容介绍 u 接口 u 多态 第1章 接口 1.1 接口的概述 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的"类". 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样将功能的定义与实现分离,优化了程序设计. 1.2 接口的格式&使用 1.2.1 接口的格式 与定义类的class不同,接口定义时需要使用interface关键字. 定义接口所在的仍为.java文件,虽然声明时使用的为interface关键字

3、接口、多态

接口 接口的概念 * A:接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的"类". 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样将功能的定义与实现分离,优化了程序设计. 请记住:一切事物均有功能,即一切事物均有接口. ? 接口的定义 * A: 接口的定义 与定义类的class不同,接口定义时需要使用interface关键字. 定义接口所在的仍为.java文件,虽然声明时使用的为interface关键字的

11_Java面向对象_第11天(接口、多态)

今日内容介绍1.接口2.多态 01接口的概念 * A:接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的 实现类(相当于接口的子类)来完成.这样将功能的定义与实现分离,优化了程序设计. 请记住:一切事物均有功能,即一切事物均有接口. 02接口的定义 A: 接口的定义 与定义类的class不同,接口定义时需要使用interface关键字. 定义接口所在的仍为.java文件,虽然声明时使用的为inter

java基础(11):接口、多态

1. 接口 1.1 接口概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样将功能的定义与实现分离,优化了程序设计. 请记住:一切事物均有功能,即一切事物均有接口. 1.2 接口的定义 与定义类的class不同,接口定义时需要使用interface关键字. 定义接口所在的仍为.java文件,虽然声明时使用的为interface关键字的编译后仍然会产生.class文件.这

【幻化万千戏红尘】千峰培训Day09-java基础学习:接口,抽象类,抽象方法,多态,instanceof

课程回顾: 访问修饰符 private--->default--->protected---->public 重写:子类中 1.访问修饰符不能比父类的更严格 2.静态/非静态.返回值类型.方法名.形式参数类型必须相同 递归:方法内部出现了自己调用自己 abstract:关键字 抽象的 1.修饰类:抽象类 2.修饰方法:抽象方法 final:关键字 最终的 1.类 不能被继承 2.变量 常量 3.方法 不能被重写 今日内容: java原则之最佳匹配性原则 在调用重载方法时,会优先选择最适合

java基础2:抽象类、接口与多态

关于Java基础的文章,我觉得写得还可以,以前发在了我其它的博客了,肯定是原创,现在再分享给大家出来. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

final、抽象类、接口、多态、

   final———最终.作为一个修饰符 可以修饰类. 函数. 变量: 被final修饰的类不可以被继承: 被final修饰的方法不可以被重写: 被final修饰的变量只能够被赋值一次,既可以修饰成员变量,也可以修饰局部变量: 内部类定义在类中的局部位置时,只能访问被final修饰的局部变量. 抽象类——和一般类没多大区别,就是多了个抽象函数(即:在类中可以定义抽象方法) 抽象方法一定定义在抽象类中 抽象方法和抽象类一定要用abstract关键字所修饰 抽象类不可以用new创建对象,因为调用抽