java基础五
十:封装
封装概括
1为什么要封装
把内部内容封装起来不让外人轻易看到 将成员属性的修饰符设置为私有的 不让属性可以直接在外部访问到 通过设置方法来内部直接操作属性
2如何封装
| 修饰符 | 本类 | 本包 | 其他包子类 | 其他包非子类 |
|---|---|---|---|---|
| private | √ | × | × | × |
| 缺省 | √ | √ | × | × |
| protected | √ | √ | √ | × |
| public | √ | √ | √ | √ |
private 私有的 只能自己使用 缺 省 不填写任何的修饰符 只要在同一个软件包底下都可以使用 protected 受保护的 使用其他软件包底下的类也可以用 public 公共的 在同一个项目中都可以使用
成员变量/属性私有化问题
成员变量(field)私有化之后,提供标准的get/set方法,我们把这种成员变量也称为属性(property)
使用private修饰成员变量
private 数据类型 变量名 ;
public class Person {
private String name;
private int age;
private boolean marry;
public void setName(String n) {
name = n;
}
public String getName() {
return name;
}
public void setAge(int a) {
age = a;
}
public int getAge() {
return age;
}
public void setMarry(boolean m){
marry = m;
}
public boolean isMarry(){
return marry;
}
}
IDEA自动生成get/set方法模板
IDEA自动生成get/set方法模板
大部分键盘模式按Alt + Insert键。
部分键盘模式需要按Alt + Insert + Fn键。
2继承
1继承的概括
1.只可以继承自己的父辈或者再向上的亲属 2.并不是所有的东西都可以继承 3.继承也可以有自己的东西 4.继承只允许单继承(每次只能继承一个类)
好处
提高代码的复用性。
提高代码的扩展性。
2继承语法
通过 extends 关键字,可以声明一个子类继承另外一个父类,
【修饰符】 class 父类 {
...
}
【修饰符】 class 子类 extends 父类 {
...
}
3继承的特点
1.子类会继承父类所有的实例变量和实例方法
2.Java只支持单继承,不支持多重继承
3.Java支持多层继承(继承体系)
4.一个父类可以同时拥有多个子类
4 IDEA中如何查看继承关系
选择A类名,按Ctrl + H就会显示A类的继承树。
1.外部类要跨包使用必须是public,否则仅限于本包使用
(1)外部类的权限修饰符如果缺省,本包使用没问题
(2)外部类的权限修饰符如果缺省,跨包使用有问题
2、成员的权限修饰符问题
(1)本包下使用:成员的权限修饰符可以是public、protected、缺省
3、父类成员变量私有化(private)
子类虽会继承父类私有(private)的成员变量,但子类不能对继承的私有成员变量直接进行访问,可通过继承的get/set方法进行访问
5 方法重写(Override)
方法重载
重载名字相同但是参数不同 重写名字相同 参数相同 返回值相同 一模一样
1.必须保证父子类之间重写方法的名称相同。
2.必须保证父子类之间重写方法的参数列表也完全相同。public > protected > 缺省 > private
3.子类方法的返回值类型必须【小于等于】父类方法的返回值类型
4.子类方法的权限必须【大于等于】父类方法的权限修饰符
@override 重写方法的注解
更多推荐




所有评论(0)