封装: 主要解决安全问题、
提供对外的输入输出接口(setter和getter、构造方法)
构造方法要调用Setter来实现封装
封装的好处:
1、便于使用者正确使用系统,防止错误修改属性
2、有助于系统之间的松耦合,提高系统独立性
3、提高软件的可重用性
4、降低了构建大型系统的风险
如何进行封装(封装的步骤):
1、修改属性的可见性>>private
2、创建公有的(获取相关属性)getter /(设置相关属性)setter .方法
3、在 getter/setter方法中加入属性控制语句
setter: 设置类里面的属性值 (没有返回值不能赋值)
getter:获取类里面的属性值 (有返回值可以赋值)
快捷键:ALT+INSERT,选择setter and getter
包组织:
访问修饰符:
public:全工程都可见,范围最大
protected:包级私有+子类可见
默认:包级私有,在同一个包的所有类可见
private:只有本类可见,范围最小
package:用于声明当前类所在的包,必须写在代码的第一行
import:用于导入当前类所引用的类,正常在package语句下一行
被static修饰的都会变为静态,如需调用,直接用 类名. 来调用即可
static关键字:没有static关键字的可以认为是对象的,有static的可以认为是类的
加static的属性叫类属性:全局变量,不论哪个对象或者整个类型来改变属性的值,
都会对其他对象/整个类造成影响
加static的方法叫类方法:全局方法,一般用于定义工具方法
静态方法中不能使用this 和 super
普通方法(对象方法)和静态方法(类方法)的区别:
对象方法可以直接调用对象属性和对象方法以及静态属性和静态方法
静态方法可以调用静态属性和静态方法,但不能直接调用对象属性和对象方法
静态代码块:
static{
//只会在第一次访问该类时,执行一次代码块(每个静态代码块只会被执行一次)
//用于初始化环境
}
继承:
关键字为extends,子类对象继承了父类对象的所有内容,但不都可见
静态资源属于类,但不属于被继承的范畴(static修饰的)
继承中的构造方法:
子类无参构造方法默认来自于父类无参
如果父类有有参但没有无参,则子类无法直接写出无参构造,需要用super()指定父类的构造方法
super关键字的作用:
子类可以通过super关键字指定父类对象的内容
super.属性一般用于区分子类、父类都有的属性
super.方法()一般用于区分子类、父类有相同方法(重写的同时调用父类方法)
super(...)指定父类的构造方法