ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2022-07-26第七组 姜珊

2022-07-26 20:02:42  阅读:45  来源: 互联网

标签:26 07 继承 方法 接口 抽象 抽象类 姜珊 public


抽象接口

面向对象的特征:抽象

java中除了类还有抽象类和接口

abstract抽象-关键字

抽象没有方法体

Public abstract void eat()

抽象方法必须在一个抽象类

抽象方法存在意义:

1.根本意义:约定

约定大于配置,配置大于编码。

抽象方法约定了什么:

1.约定了返回值

2.访问权限

3.参数列表

需要重写时定义方法体

抽象方法必须在一个抽象类:

1.当我们定义一个抽象类,这个类中可以有哪些结构:

属性,成员方法,构造器,抽象方法,常量

2.抽象类中有没有抽象方法?

抽象类中可以没有抽象方法

3.抽象类不能被实例化,不能创建对象
4.抽象类构造器存在意义

为了约定子类构造器,必须和父类匹配

5一个类继承一个抽象类就必须重写这个抽象类所有抽象方法

abstract修饰什么?

类和方法

抽象方法能不能被private修饰?

不能

一般抽象基本上是public

抽象方法不能用Final修饰

抽象重点:

1,抽象方法必须是public或protect(private不被子类继承则无法实现该方法)默认情况下是可以的

2.抽象类不能被直接实例化,需要子类采用向上转型方式处理

3.抽象类必须有子类,使用extends继承。一个类只继承一个抽象类

4.子类(如果不是抽象类)必须重写抽象类中所有抽象方法(如果没有父类抽象方法,必须将子类也定为abstract)

接口:

比抽象类更高级的抽象

声明:使用interface关键字

public interface Ch02

Jdk7之前接口中只能定义抽象方法和静态常量,不能有属性有方法。

Jdk8及以后:接口中只能定义抽象方法(静态常量)不能有属性,可以有默认方法和静态方法。

只能在JDK8中用

public static final String NAME="名字"//静态常量
public abstract void breath();//抽象方法
public static void show()//静态方法
public default void info()//默认方法

JDK7—JDK8升级:默认方法。静态方法

接口中结构特点:

1.接口中方法默认public,推荐省略,abstract也默认也可省略

2.接口中的常量默认public static Final默认 也可省

3.接口中结构只能是public

4.接口可以被实现,实现。如果一个类实现了一个接口,需重写接口中所有方法

public class Cat extends Animal implements Biology

1.Cat类继承了Animal(同时实现)Biology接口

2.Cat可以叫做Animal子类也可以叫做Biology实现类

实现接口可以多实现,继承是单继承

开发中如果一件事可以通过继承和接口解决,优先使用接口

接口存在意义:约定

面向接口编程:主要写接口

面向切面编程

实现匿名类

Abstractr01=new Abstr01(){进行父类方法的重写}//new Abstr01成为无名子类

面对对象四大特征:(三大特征:没有抽象,可以归于多态)

封装 继承 多态 (抽象)

面试题:

继承类和实现接口的异同

相同点,继承和接口都需要重写父类方法

不同点:继承是单继承,接口是多实现

1、 继承抽象类,必须重写抽象类中所有抽象方法。

2、继承普通类,可以重写也可以不重写父类 的 方法。

3、 实现接口则必须 实现接口中的所有方法。 ( 接口中的方法均为抽象方法)。

抽象类和接口区别

一 接口和抽象类的相似性

1 接口和抽象类都不能被实例化,不能创建对象。

2 接口和抽象类都可以包含抽象方法,实现接口或继承抽象类的普通子类都必须实现这些抽象方法。

二 接口和抽象类的区别

1 接口里只能包含抽象方法,静态方法,抽象类则完全可以包含普通方法,接口中的普通方法默认为抽象方法。

2 .抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的,并且必须赋值,否则通不过编译。

3 接口不能包含构造器,抽象类可以包含构造器,抽象类里的构造器并不是用于创建对象,而是让其子类调用这些构造器来完成属于抽象类的初始化操作。

4 .接口里不能包含初始化块,但抽象类里完全可以包含初始化块。

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

重点:

结合多态,传参,配合instance of 使用。在能使用多态 表示对象时,尽量使用多态。
心得:写代码时思路容易混乱,,接受比较慢,多态和接口融合不好

标签:26,07,继承,方法,接口,抽象,抽象类,姜珊,public
来源: https://www.cnblogs.com/jsdeboke/p/16522463.html

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有