包,访问控制补充(2022.7.20)

JDK中常用的包

1.java.lang:包含一些Java语言的核心类,如Object,String,Math等,自动导入不需要import

2.java.net:包含执行与网络相关操作的类

3.java.io:包含能提供多种输入\输出的类

4.java.util:包含一些使用工具类,例如日期类

访问修饰符

1.public:任何情况能挎包

2.protected:同一包下都好使,子类继承父类之后,实例化子类可以跨包

3.defalut:同一包下都好使,跨包不好使

4.private:只有自己能看到

static:静态

static可以修饰变量,方法,内部类

static可以用在共同拥有的属性,方法,且不经常改变

static修饰的成员就是类成员,类成员属于整个类,而不是某个对象

static适用场景:使用大段对静态成员进行初始化

代码执行优先级:层序>静态代码块>继承>代码块>构造器>成员方法

final:最终的

final方法不能被覆盖(重写)
final值不可被修改
final类不能被继承

abstract:抽象

抽象类实现的类为抽象类,实现的方法称为抽象方法
抽象类不能被实例化

抽象是一类对象的共同特征总结出来构造类的过程

必须满足如下条件之一,类才可以被定义为抽象类
1.类中至少有一个抽象方法
2.类继承了父类中的抽象方法,如果有抽象方法没有被实现,则该类必须是抽象类,实现类可以为该抽象类的子类
3.类实现了某个接口,但没有全部实现接口中的方法

以抽象类作为其子类的模板,从而避免了设计的随意性

1.抽象类可以有一般方法,也可以有抽象方法,有四个范围修饰符:private,default,protected,public
2.可以有变量,也可以有常量
3.抽象类和类的关系是继承

接口

接口比抽象类更抽象

接口可以实现多根继承

抽象类和接口的比较

抽象类

1.抽象类可以有一般方法,也可以有抽象方法,有四个范围修饰符:private,default,protected,public

2.可以有变量,也可以有常量

3.抽象类和类的关系是继承

接口

1.不允许有一般方法,都必须是抽象方法,所有的方法都是公共的

2.接口中的类型一定是常量(final不可被修改)

3.接口和类的关系是多实现

4.接口和接口的关系是继承

5.类与类和接口的关系:先继承,后实现

接口和接口之间是继承还是实现?

继承
可以继承:

是在设计接口时,需要完善java单继承所带来的不足的,允许多继承可以让子类更丰富,解决复杂问题

不可以实现

因为实现是指类对接口中方法等内容的实现操作,完成了接口中没有完成的方法,而如果使用接口去实现接口,与接口的特点冲突(接口要求所有的类必须完全实现,接口要求只能有抽象方法没有一般方法)

多态

对象的变量如果是多态的,一个类型为Aclass的变量既可以指向类型为Aclass的对象,又可以指向Aclass子类的对象

多态的类型

1.形参多态
2.返回值多态
3.运行时多态(虚方法调用)

Animal a=new Dog();

在这里插入图片描述
多态是指允许不同子类型对象对同一消息做出的不同反应

应用场合:
方法重载:编译时多态,也称前绑定
方法重写:运行时多态,也称后绑定

instanceof运算符

左侧变量是否是右侧变量的实现对象

可以理解成从属

dog instanceof animal
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值