day08-面向对象三大特征

封装

尽可能隐藏对象的内部实现细节,控制对象的修改及访问的权限。访问修饰符:private。
以访问方法的形式,进而完成赋值与取值操作。提供公共访问方法,以保证数据的正常录入。
JavaBean 分为两种:1、数据承载Bean:私有化属性,对外提供公共的set、get方法,提供有参无参构造 2、业务逻辑Bean

继承

两个类之间的继承关系,必须满足“is a”的关系。根据程序需要使用到的多个具体类,进行共性抽取,进而定义父类。

  • 1、子类继承父类,可以继承父类中的属性和方法
  • 2、子类可以拥有自己独有的属性和方法
  • 3、单继承,即在java中一个子类只能继承一个父类。但是一个父类可以拥有多个子类
  • 4、多重继承,即一个父类还可以继承另外一个类。java中最大的父类的是Object(如果一个没有显示的写出extends 父类,默认就是Object子类)
  • 5、构造方法不能被继承
  • 6、父类的私有属性不能被继承
  • 7、父类中使用默认的修饰符的修饰的属性和方法在不同包的子类中不能被继承
    super关键字可以调用父类的属性、方法、构造方法

多态

父类引用指向子类对象,从而产生多种形态。

  • 父类引用仅可调用父类所声明的属性和方法,不可调用子类独有的属性和方法。
  • 如果发生多态,那么调用的一定是子类重写的方法。
    向上转型和向下转型
  • 向上转型即为发生多态,此时不能调用子类独有的属性和方法
  • 发生多态要调用子类自己独有的方法和属性,那么需要发生向下转型。
  • 发生向下转型之前必须要发生过向上转型
    instanceOf关键字
  • 语法: 对象名 instanceof 类型
  • 作用:判断该对象是否属于该类型。属于返回true,否则返回false
  • 应用场景:在向下转型之前,最好先做一个判断。以免发生类型转换异常的错误
学习中遇到的问题

这里在循环内创建了WifeManage对象,所以每次在循环重新开始的时候都创建了新的对象,之前的对象没有存储下来。
循环内创建对象
WifeManage内数组变量加上了static后数据储存到Wife[]中成功了
WifeManage内数组变量加了static
原因:
静态属性的初始化时机在类加载的时候,在初始化阶段,所有的静态属性的赋值和代码块放入一个clinit方法,静态变量只在类加载是初始化一次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值