封装:
保护属性
开一个出口以供使用
好处:便于使用者正确使用系统,防止错误修改属性
有助于系统之间的松耦合,提高系统独立性
提高软件的可重用性
降低了构建大型系统的风险
包:包名由小写字母组成,不能以圆点开头或结尾
包名之前最好加上唯一的前缀,通常使用组织倒置的网络域名
包名后续部分依不同机构内部的规范不同而不同
访问修饰符:
public:公共的;全工程可见
protected:子类继承的时候使用;包级私有+子类
默认:包级私有;当前类所在的包中可见
private:私有的;只有自己可见
ststic:
修饰属性时:全类共用一个存储空间
普通属性:一个对象用一个存储空间
修饰方式时:可以通过类名.方法名()调用
普通方法可以直接调用静态方法和普通方法
静态方法不能直接调用普通方法
普通方法可以直接调用静态属性和普通属性
静态方法不能直接调用普通属性
静态代码块:
static {//静态代码块
//是在第一次访问该类时(在创建对象之前)执行,且只执行一次
//往往用来加载配置文件
}
静态方法不能使用this和super,静态方法必须被实现
静态变量不能做局部变量,只能做成员变量
static变量的作用:
(1)能被类的所有实例共享,可作为实例之间进行交
流的共享数据
(2)如果类的所有实例都包含一个相同的常量属性,
可把这个属性定义为静态常量类型,从而节省内存空间
继承:是JAVA中实现代码重用的重要手段之一
只支持单根继承,即一个类只能有一个直接父类
关键字extends,子类继承父类所有,
父类私有的东西也继承,只是看不到
子类创建对象时,会先执行父类的无参构造方法,
在执行子类的构造方法
访问父类构造方法
super();
super(name);
访问父类属性
super.name;
访问父类方法
super.print();
super只能出现在子类的方法和构造方法中
super调用构造方法时,只能是第一句
super不能访问父类的private成员
子类构造方法没有通过super显式调用父类的有参构造方法,也没通过this显式调用自身其他构造方法
系统默认调用父类的无参构造方法
子类构造方法通过super显式调用父类的有参构造方法
执行父类相应构造方法,而不执行父类无参构造方法
子类构造方法通过this显式调用自身的其他构造方法,在相应构造方法中应用以上两条规则