day12

/*

一.接口:
1.语句定义格式:接口使用关键字:interface
interface 接口名{}

2.接口如何实现 接口不能实例化
关键字implements 实现该接口
使用多态的形式进行实现 具体的子类进行实例化 其实这是多态的一种 叫做接口多态

3.也可以用一个抽象类去实现

三种多态的表现形式
1.具体的类中的多态
2.抽象类中的多态
3.接口中的多态

*/

/*
二.接口中成员的特点:

成员变量:
只能时常量,并且时静态的
jvm运行之前会自动补齐public static final

构造方法:
接口中没有构造方法

成员方法:
接口中的方法只能是抽象方法 没有方法体 大括号也没有
jvm运行之前会补齐 public abstract

注意:
1.当一个具体的类实现接口的时候 必须实现接口中所有的抽象方法
2.当一个抽象类实现接口的时候 可以选择不实现接口中的方法 也可以选择性的实现

虽然接口中没有构造方法 但是多态初始化的时候会先初始化父类再初始化子类


类与类 类与接口 接口与接口的关系

类与类:
存在继承关系 只能进行单继承 不可以进行多继承 但是可以多层次继承

类与接口:
实现关系 可以是单继承 也可以是一次性实现多个接口 也可以在继承一个类的同时 实现多个接口

接口与接口:
存在的是继承关系 可以是单继承 也可以是多继承

*/
/*
三.包:在这里就是文件夹的意思
面试题:
package import class 三者之间有没有顺序关系

package:到达的路径 所在文件的路径 它最终以包结束
import:导入外界你想要使用的类 他最终以你想要导入的哪个类/java结束
class:表示定义一个类 java的最基本的单位

*/

/*
四 权限修饰符: 同一类下 同一包子类中,其他类 不同包的子类 不同包的其他类
public √ √ √ √
protected √ √ √
默认的 √ √
private √
*/
/*
五.类及其组成可以用的修饰符:
修饰符:
访问权限修饰:public,protected,默认的,private
状态修饰饰:static,final
抽象修饰符:abstract





类:
访问权限修饰:public,默认的,
状态修饰饰:final
抽象修饰符:abstract
成员变量:
访问权限修饰:public,protected,默认的,private
状态修饰饰:static,final
构造方法:
访问权限修饰:public,protected,默认的,private
成员方法:
访问权限修饰:public,protected,默认的,private
状态修饰饰:static,final
抽象修饰符:abstract

常见的修饰符组合:
成员变量:public static final 在接口中遇见
成员方法:
1、public abstract
2、public static
3、public final

将来开发中,除了封装必须使用private以外,如果你实在不知道用谁,就用public
*/
/*
六.形式参数:
基本数据类型:byte short int long float double char boolean
引用数据类型:

类:当类作为方法的形式参数的时候 实际上需要的是该类的对象
抽象类:当抽象类作为形式参数传参的时候 实际上需要的是该类子类实现对象的地址值 利用多态的形式创建
接口:
数组

*/
/*
七. 形式参数:
基本数据类型:byte,short,int,long,float,double,char,boolean
引用数据类型:
类:当类作为方法的形式参数的时候,实际上需要的是该类的对象
抽象类:当抽象类作为形式参数传参的时候,实际上需要的时候该类子类实现对象的地址值,利用多态的形式创建
接口:当接口作为形式参数传参的时候,实际上需要的是该接口的实现类对象的地址值,利用接口多态的方式创建
数组:
*/
/*
八.方法返回值的问题:
基本数据类型:byte,short,int,long,float,double,char,boolean
引用数据类型:
类:当类作为方法的返回值的时候,实际上返回的是该类对象的地址值。
抽象类:当抽象类作为返回值的时候,需要返回的是该抽象类的子类对象
接口:当接口作为返回值类型的时候,
*/

总结

1、接口:interface
1)接口中成员变量只能是常量,默认有修饰符public static final
2)接口中成员方法,也是有默认修饰符的 public abstract
3)接口中没有构造方法
4)要想实例化接口,创建一个具体的类实现接口,并实现接口中所有的抽象方法
5)接口与接口之间是继承关系,可以进行单继承,也可以进行多继承
6)如果是一个具体的类实现接口,必须实现接口中所有的抽象方法
如果是一个抽象类实现接口,可以选择性的实现方法,也可以不进行实现

2、引用数据类型作为形式参数的时候
当类作为参数的类型的时候,实际上需要的是该类的对象的地址值
当抽象类作为参数的类型的时候,实际上需要的是该抽象类的子类的对象的地址值
当接口作为形式参数的类型的时候,实际上需要的是实现该接口的类的对象的地址值

3、引用数据类型作为方法的返回值的时候
当类作为方法的返回值类型的时候,实际上需要的是该类的对象
当抽象类作为方法的返回值的时候,实际上需要的是该抽象类子类的对象
当接口作为方法的返回值的时候,实际上需要的是实现该接口具体的类的对象

4、package,import,class的顺序

5、访问权限修饰符
public
protected
默认的
private
















posted @   Sunmy123  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
点击右上角即可分享
微信分享提示