java 三大特性 封装、继承、多态

  • 封装

  1. 概念

尽可能隐藏对象内部的实现,限制用户对对象的操作和访问权限。

2.语法

private  访问修饰符 表示私有化   

特征:只能在类的内部进行访问

修饰:属性   方法

使用:private  变量类型  变量名;

      private 返回值类型 方法名(){}

3.封装之后的处理

提供公开的访问方式

GetXxx 属性值的获取

SetXxx 属性值的设置

private String name;

public String getName(){

return this.name;

}

public void setName(String name){

this.name=name

}

4.使用区别

封装前:

获取属性值: 对象名.属性名

设置属性值: 对象名.属性名=值

封装后:

获取属性值: 对象名.getXxx();

设置属性值: 对象名.setXxx(值);

5.注意:后续书写属性时都需要使用private修饰并且提供公开的set|get方法

  • 继承

  1. 概念:类与类之间的关系 , 满足is a关系就可以实现继承关系 , 子类是一个父类
  2. 父类的抽取规则

功能描述越详细, 重合点越多, 越接近直接父类

功能描述越粗略, 重合点越少, 越接近Object(对象)

在一组相同或者类似的类中,抽取出共性的特征和行为,定义在父类中,实现重用。

3.语法

class 字类名  extends  父类名{ }

产生了继承关系后,子类既可以具备父类的特性和行为,又可以定义自己独有的特征和行为

4.Java继承关系【简单性体现】

Java是单继承  一个类只能有一个直接的父类

Java支持多级继承  父类还可以继承父类  相当于间接的成为当前类的父类

5.不能继承

  1. 构造方法
  2. private修饰的属性和方法
  3. 不同包时 default修饰的属性和方法

 6.访问修饰符

控制成员的访问权限

 

7.方法覆盖

覆盖的概念:继承关系下父类功能满足不了子类的需求,需要对父类方法进行重写

要求:

1、返回值类型 方法名  参数表和父类方法完全相同

 2、访问修饰符要和父类相同或者比父类更宽泛

 3、子类方法不能抛出比父类更宽泛的异常

注解:@Override 注解 功能:强制校验方法覆盖是否成立 【了解】

方法重载:方法名相同,参数列表不同(个数、类型、顺序),和访问修饰符、返回值类型无关

8.super

super. 可以调用父类对象的属性或者方法

super()|super(参数) 可以在子类的构造方法中调用父类的构造方法

super()和this()不能同时使用,他们都要求放置在代码的第一行

子类构造方法中如果没有显示调用父类构造方法,默认添加super();

9.对象创建过程      创建子类对象时先创建父类对象

  1. 分配空间
  2. 初始化父类属性
  3. 调用父类构造方法
  4. 初始化子类属性
  5. 调用子类构造方法
  • 三 ,多态【重点】

  • 1.概念

父类引用指向[存储]子类对象

2.语法

父类型 引用名 = new 子类型();   

3.注意

a、使用父类引用只能调用父类中声明的属性和方法,无法使用子类特有的属性和方法

b、如果子类覆盖了父类中的方法,调用时优先使用子类覆盖之后的方法

4.多态应用场景

  1. 父类引用可以作为方法的形参 接收子对象
  2. 父类引用可以作为方法的返回值类型 表示一些列子类对象
  3. 父类引用可以用于创建存放 多个子类型元素的数组
5.好处
  1. 降低程序的耦合度
  2. 屏蔽子类间的差异

6.装箱拆箱

装箱:将子类对象放置到父类引用中

      Animal a = new Dog();

拆箱:将父类型引用中指向的子类型对象 转化为 原有的子类型

   Dog d = (Dog)a;

使用场景:需要调用子类独有的属性和方法时需要拆箱(强转)

7.Instanceof

作用:用于判断当前对象|引用是否为指定类型  或者 是否为指定类型的子类型

语法:对象|引用 instanceof 类型

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值