JAVA面向对象——封装与继承

1.面向对象三大特征之一 ——封装

封装的概念:

将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。用通俗的话来说,就是把尽可能多的东西藏起来,对外提供便捷的接口。

封装的两个大致原则:

  • 第一,将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问;
  • 成员变量为private,提供对应getter/setter方法。

实现封装的步骤:

  • 第一步,修改属性的可见性,也就是设为private,防止错误的修改;
  • 第二步,创建公有的getter/setter方法,用于属性的读写;
  • 第三步,在getter/setter方法中加入属性控制语句,对属性值的合法性进行判断。

封装的好处:

  • 便于使用者正确使用系统,防止错误修改属性;
  • 有助于系统之间的松耦合,提高系统独立性;
  • 提高软件的可重用性;
  • 降低了构建大型系统的风险。

以下是部分使用了封装的代码的设计与实现:

 

 

2.类的访问修饰符

public修饰符:公有访问级别  /   默认修饰符:包级私有访问级别

     作用域

修饰符

同一个类中

同一个包中

子类中

任何地方

private

可以

不可以

不可以

不可以

默认修饰符

可以

可以

不可以

不可以

protected

可以

可以

可以

不可以

public

可以

可以

可以

可以

 3.static修饰符

 静态变量(可以直接通过类名访问):

  • 被static修饰的变量;
  • 在内存中只有一个拷贝;
  • 类内部,可在任何方法内直接访问静态变量;
  • 其他类中,可以直接通过类名访问。

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

  • 静态方法中不能使用this和super;
  • 不能直接访问所属类的实例变量和实例方法;
  • 可直接访问类的静态变量和静态方法;
  • 静态方法必须被实现(main()就是最常用的静态方法)。

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

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

4.继承

使用继承:

  • 编写父类;
  • 编写子类,继承父类(使用extends关键字)。

使用super关键字访问父类成员:

  • super只能出现在子类的方法和构造方法中;
  • super调用构造方法时,只能是第一句;
  • super不能访问父类的private成员。

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

  • 子类构造方法没有通过super显式调用父类的有参构造方法,也没通过this显式调用自身其他构造方法,系统默认调用父类的无参构造方法;
  • 子类构造方法通过super显式调用父类的有参构造方法,执行父类相应构造方法,而不执行父类无参构造方法;
  • 子类构造方法通过this显式调用自身的其他构造方法,在相应构造方法中应用以上两条规则。

以下为验证继承的代码设计与实现:

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值