封装与继承

封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问

实现封装

  1. 修改属性的可见性

  2. 创建getter setter方法

  3. 在getter setter方法中创建属性控制语句 

封装好处

便于使用者正确使用系统,防止错误修改属性

有助于系统之间的松耦合,提高系统独立性

提高软件的可重用性

降低了构建大型系统的风险

包的作用

1.允许类组成较小的单元(类似 文件夹),易于找到和使用相应的文件

2.防止命名冲突

3.有助于实施访问权限控制

包的命名规范

包名由小写字母组成,不能以圆点开头或结尾

包名之前最好加上唯一的前缀,通常使用组织倒置的网络域名

访问修饰符

作用域修饰符同一个类中同一个包中不同包子类中任何地方
private可以不可以不可以不可以
默认修饰符(friendly)可以可以不可以不可以
protected可以可以可以不可以
public可以可以可以可以

static关键字

静态变量,可以直接通过类名访问

 静态方法,可以直接通过类名访问

静态代码块,当Java虚拟机加载类时,就会执行该代码块

JVM加载类时,加载静态代码块 如果有多个静态块,按顺序加载 每个静态代码块只会被执行一次

类的成员变量分类

局部变量

成员变量:静态变量     实例变量

静态变量

被static修饰的变量 在内存中只有一个拷贝

类内部,可在任何方法内直接访问静态变量

其他类中,可以直接通过类名访问

实例变量

没有被static修饰的变量

每创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响  

static方法

静态方法:可直接通过类名访问

静态方法中不能使用this和super

不能直接访问所属类的实例变量和实例方法

可直接访问类的静态变量和静态方法

实例方法:通过实例访问

可直接访问所属类的静态变量、静态方法、实例变量和实例方法

静态方法必须被实现

在实例方法里不可以定义static变量

如何使用继承(extends)

  1. 编写父类

  2. 编写子类,继承父类

super关键字

  1. 使用super关键字,super代表父类对象

  2. 在子类构造方法中调用且必须是第一句

  3. 不可以访问父类中定义为private的属性和方法

继承条件下构造方法的调用规则

子类构造方法没有通过super显式调用父类的有参构造方法,也没通过this显式调用自身其他构造方法

系统默认调用父类的无参构造方法

子类构造方法通过super显式调用父类的有参构造方法

执行父类相应构造方法,而不执行父类无参构造方法

子类构造方法通过this显式调用自身的其他构造方法,在相应构造方法中应用以上两条规则

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值