面向对象进阶(包、权限修饰符、抽象类、接口)


活动地址:CSDN21天学习挑战赛

一 包

什么是包?
包是用来分门别类的管理各种不同类的,类似于文件夹、建包利于程序的管理和维护。
建包的语法格式:package 公司域名倒写.技术名称。报名建议全部英文小写,且具备意义
建包语句必须在第一行,一般IDEA工具会帮助创建
导包
相同包下的类可以直接访问,不同包下的类必须导包,才可以使用!导包格式:import 包名.类名;
假如一个类中需要用到不同类,而这个两个类的名称是一样的,那么默认只能导入一个类,另一个类要带包名访问

二 权限修饰符

什么是权限修饰符?
权限修饰符:是用来控制一个成员能够被访问的范围。
可以修饰成员变量,方法,构造器,内部类,不同权限修饰符修饰的成员能够被访问的范围将受到限制。
权限修饰符的分类和具体作用范围:
权限修饰符:有四种作用范围由小到大(private -> 缺省 -> protected - > public )
请添加图片描述
自己定义成员(方法,成员变量,构造器等)一般需要满足如下要求:
1.成员变量一般私有。
2.方法一般公开。
3.如果该成员只希望本类访问,使用private修饰。
4.如果该成员只希望本类,同一个包下的其他类和子类访问,使用protected修饰。

三 抽象类

在Java中abstract是抽象的意思,可以修饰类、成员方法。
abstract修饰类,这个类就是抽象类;修饰方法,这个方法就是抽象方法。
注意事项
抽象方法只有方法签名,不能声明方法体。

修饰符 abstract class 类名{ 
	修饰符 abstract 返回值类型 方法名称(形参列表)}

一个类中如果定义了抽象方法,这个类必须声明成抽象类,否则报错。
抽象的使用场景
抽象类可以理解成不完整的设计图,一般作为父类,让子类来继承。
当父类知道子类一定要完成某些行为,但是每个子类该行为的实现又不同,于是该父类就把该行为定义成抽象方法的形式,具体实现交给子类去完成。此时这个类就可以声明成抽象类。

public abstract class Animal{    
public abstract void run();
}

总结
1、抽象类、抽象方法是什么样的?
都是用abstract修饰的;抽象方法只有方法签名,不能写方法体。
一个类中定义了抽象方法,这个类必须声明成抽象类。
2、抽象类基本作用是啥?
作为父类,用来被继承的。
3、继承抽象类有哪些要注意?
一个类如果继承了抽象类,那么这个类必须重写完抽象类的全部抽象方法,否则这个类也必须定义成抽象类。

四 接口

比抽象类更高级的抽象,就是接口
抽象类比类更高级的抽象
interface 接口
声明:使用interface关键字 public interface Ch02;
JDK1.7之前:接口中只能定义抽象方法、静态的常量和静态方法,不能有方法,不能有属性
JDK1.8及以后:接口中只能定义抽象方法,也不能有属性,但是可以有默认方法和静态方法,也可以有静态常量
JDK7到JDK8:默认方法,静态方法。
默认方法:pubic default void info(){}
接口中结构的特点:
1.接口中的抽象方法默认是public abstract,通常省略
2.接口中的常量默认public static final 省略
接口中的结构必须是public
接口可以被一个类实现,实现类 如果一个类实现了一个接口,他就需要重写所有的抽象方法
比如说A类 implements接口,我们就是A是这个接口的实现类
public class Cat extends Animal implements Biology{}
这个Cat类就继承了Animal类同时实现了Biology接口 Cat类可以叫Animal子类 也可以叫Biology接口
实现接口是可以多实现的,继承只能单继承
优先选择接口解决问题
面试题
继承抽象类和实现接口的异同
继承:单继承 实现接口:多实现
都需要重写所有的方法
抽象类和接口的区别:
继承:单继承 实现接口:多实现
抽象类放的东西多,接口少
接口存在的意义: 约定
面向接口编程: 主写接口

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烫嘴的辛拉面

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值