Java面向对象的三大特性

面向对象的三大特性:封装、继承、多态

封装:

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

封装的好处:

1.只能通过规定方法访问数据

2.隐藏类的实现细节

3.方便修改实现

 

4.方便加入控制语句

封装的步骤:

①将属性私有化 private

private int age;

②编写setter方法,可以针对用户输入的值进行判断

 1         
 2     public  void setAge(int age){
 3         
 4         if(age>0  &&  age<100){
 5             this.age=age;
 6         }else{
 7             System.out.println("请输入符合实际情况的年龄(0~100),默认18岁");
 8             this.age=18;
 9         }
10     
11     }    
12         

③编写getter方法,来获取值

1 public  int  getAge(){
2         return age;
3     }

继承:

概念:

一个类继承于另一个类,那么前者就是后者的子类

为什么需要继承:

 

在多个同种类型中有多个重复的代码,就会冗余

 

可以使用继承避免此种情况出现

语法:

编写父类:

class Pet {

//公共的属性和方法}

编写子类,继承父类:

class Dog extends Pet {

​ //子类特有的属性和方法

满足条件

​ is - a 关系

继承只能是 单根继承

关键字 extends

哪些是不能被继承的?

​ 父类的构造方法

​ private 修饰的内容

​ 不同包下的 默认修饰符修饰的内容

super

可以调用 父类中的 属性 , 方法, 构造方法

如果在构造方法中使用,必须在第一行

super不能访问父类的private成员

继承构造方法执行顺序

在子类中如果明确写了调用父类的某一个构造方法,则会执行被明确调用的构造方法,如果在子类

构造方法中,没有写任何调用的构造方法,则会默认调用父类的无参构造方法。

多态:

概念:同一个引用类型,使用不同的实例而执行不同操作

为什么使用多态:

频繁修改代码,代码可扩展性、可维护性差

好处:减少类中代码量提高代码的可扩展性和可维护性

语法: 父类名 父类引用 = new 子类类名();

多态的三个要素:

1、编写具有继承关系的父类和子类

2、子类重写父类方法

3、使用父类的引用指向子类的对象

向上转型——子类转换为父类,自动进行类型转换

向下转型——父类转换为子类,结合instanceof运算符进行强制类型转换

instanceof运算符:

语法:

对象 instanceof 类或接口

instanceof通常和强制类型转换结合使用

实现多态的两种形式:

使用父类作为方法形参实现多态

使用父类作为方法返回值实现多态

 

posted @ 2020-05-14 16:26  南山i南  阅读(372)  评论(0)    收藏  举报