第七章 封装和继承
一、面向对象的三大特征
封装、继承、多态
二、封装
将类的属性(字段)设置为私有的(private),并添加getter/setter方法操作属性。
注意:get|set方法的固定语法格式为:get属性名 set属性名
private String name; getName setName
private int userAge; getUserAge setUserAge
get和set方法可以成对出现,也可以只有get或者只有set。
三、包
1.设置类所在的包:在源文件的第一行添加: package 包名
package com.bdqnsjz.demo;
public class Test{}
2.导入包:在源文件的package和类名中间添加: import 包名
package com.bdqnsjz.demo;
import com.dbqnsjz.homework;
public class Test{}
注意:
包名由小写字母组成,不能以圆点开头或结尾
包名之前最好加上唯一的前缀,通常使用组织倒置的网络域名
常见的包:java.lang:虚拟机自动引入
java.util:提供一些实用类
java.io: 输入、输出
package和import的顺序是固定的:
1.package必须位于第一行(忽略注释行)
2.只允许有一个package语句
3.其次是import
4.接着是类的声明
四、访问修饰符
同一个类中 同一个包中 子类中 任何地方
private yes no no no
默认修饰符 yes yes no no
protected yes yes yes no
public yes yes yes yes
注意:优先级从低到高依次为:private(私有的) < 默认 < protected(受保护的) < public(公共的)
上述访问修饰符适用于:属性、方法。不适用于类。
五、static关键字
static是静态的。static可以修饰属性、方法。被static修饰的属性和方法又叫静态属性和方法。
静态成员和非静态成员的区别:
1.静态成员有被static关键字修饰,非静态成员没有。
2.静态成员通过 类名.成员名 进行调用;非静态成员通过 对象名.成员名 进行调用。
注意:静态成员虽然使用方便,但是静态成员在内存中会一直存在,并且只有1个实例。