学习目标:理解封装的作用,会使用封装,会使用Java中的包组织类掌握访问修饰符,理解访问权限,掌握static的使用,理解继承的好处掌握,如何实现继承
学习方法:1、封装和继承结合代码举一反三;2、封装和继承的好处,结合代码改造接收;3、不同的访问修饰符实现访问权限控制建议通过表格形式总结记忆;4、static的使用特点需要记忆;5、继承的理解及代码呈现,结合现实生活案例对比。
一、封装
掌握为什么要用封装(作用),以及怎么用(使用步骤)。
1、封装的作用
我们先来看什么是封装,封装是将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。
概括来说,俩作用:一、保护属性;二、开一个出口以供使用
2、使用封装的步骤
①修改属性的可见性,设为private;
②创建公有的getter/setter方法,用于属性的读写 (setter属性赋值以及操作/getter属性取值);
③在getter/setter方法中加入属性控制语句,对属性值的合法性进行判断。
二、访问修饰符
1、类的访问控制
2、类成员的访问控制
总结如下:
public: 公共的;全工程可见
protected:子类继承的时候使用;包级私有+子类
默认:包级私有,当前类所在的包中可见
private:私有的,只有自己可见
三、static的使用
1、static的作用
实现数据共享
2、static的使用
①static修饰属性
静态变量又叫类变量,它必须是成员变量,是从属类的,不可以放在方法中,它不像普通变量一个对象用一个存储空间,而是全类共用一个存储空间,在实际项目中可以用在点赞数访问量上,通过类名+“.”调用。
类变量和实例变量的区别:三方面区别:写法上的区别,调用的区别,内存上的区别
类变量(静态变量)
1、被static修饰的变量
2、类内部,可在任何方法内直接访问静态变量 其他类中,可以直接通过类名访问
3、在内存中只有一个拷贝
实例变量
1、没有被static修饰的变量
2、通过实例访问
3、每创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响
②static修饰方法
实例方法–通过实例访问
可以直接访问实例变量、实例方法、静态变量,静态方法
静态方法–类名+“.”访问
不能直接访问实例变量和实例方法
可直接访问类的静态变量和静态方法
静态方法中不能使用this和super
③static静态代码块
在程序第一次访问时执行,且只执行一次,如果有多个static代码块,则按顺序执行
四、继承
继承的最基本作用是使得代码可重用,增加软件的可扩充性
继承的语法格式[访问修饰符] class extends{}
关键字extends,子类继承父类所有,父类私有的东西也继承了,只是看不到
子类创建对象时,会先执行父类的无参构造方法,再执行子类的构造方法