首页 > 编程语言 > 详细

Java三大特性

时间:2021-04-09 13:20:45      阅读:16      评论:0      收藏:0      [点我收藏+]

Java三大特性

封装简介

封装其实就是针对类属性的私有化(封装),即属性私有。同时向外部提供公有的set和get方法。实际操作中,当实例化类之后给某一个属性辅助的时候,调用set方法内部可以添加安全性检查,规避一些不合法的属性辅助(比如:Person类实例化后给年龄赋值 999等)

封装的作用

  • 提高程序的安全性,保护数据

  • 隐藏代码的实现细节

  • 统一接口

  • 提高系统的可维护性

 

public class Student {
   // 属性私有 private关键字
   private String name;
   private int age;
   private String sex;
?
   // 提供一些可以操作这些属性的公共方法
   // public get and set
?
   public int getAge() {
       return age;
  }
?
   public void setAge(int age) {
       if (age > 120 || age < 0) {
           this.age = 3;
      } else {
           this.age = age;
      }
  }
?
   public String getName() {
       return this.name;
  }
?
   public void setName(String name) {
       this.name = name;
  }
}

 

继承简介 (extends)

Java中类是对具体事物的抽象,提取某一类事物的共有属性和方法

继承其本质是对某一批类的抽象,从而实现对现实世界更好的建模

Java中只有单继承,没有多继承

继承是类与类之间的关系

继承关系的两个类,一个是子类(派生类),一个是父类(基类),子类继承父类,使用关键字extends表示

子类和父类之间,从意义上来讲应该具有“is a”的关系(如:Student is a Person)

在Java中,所有的类都默认直接或者间接继承Object类

 

super关键字
  1. 子类构造方法中使用super()调用父类的构造方法,super()必须放在第一行

  2. super必须只能出现在子类的方法或者构造方法中

  3. 在构造方法中不能同时调用super() 和 tis(),因为都要求放在方法的第一行 (Call to ‘super/this()‘ must be first statement in constructor body)

super和this的区别
代表的对象不同

this:本身调用者这个对象

super:代表父类对象的引用

前提

this:没有继承也可以使用

super:只能在继承条件下才可以使用

构造方法

this():本类的构造方法

super():父类的构造方法

方法重写

前提:需要有继承关系,其本质是子类重写父类的方法

  1. 方法名必须相同

  2. 参数列表必须相同

  3. 修饰符:范围可以扩大,但不能缩小 public > protected>default>private

  4. 抛出的异常:范围可以缩小,但不能扩大

重写:子类的方法和父类必须一致,方法体不同

为什么重写:父类的功能,子类不一定需要,或者不一定满足

 

多态

一个对象的实际类型是确定的,但可以指向对象的引用类型有很多(父类、有关系的类)

Student extends Person

Student s1 = new Student();

Person s2 = new Student();

多态存在的条件

  • 有继承关系

  • 子类重写了父类的方法

  • 父类引用指向子类对象

注意:多态是方法的多态,属性没有多态性

instanceof关键字

判断对象和类之间是否存在继承关系

Java中引用类型转换

  • 子类转父类,可以直接转换 Person person = new Student()

  • 父类转子类,需要强制转换 Student student = (Student)new Person()

  • 方便方法的调用,减少重复代码,提高代码的利用率

Java三大特性

原文:https://www.cnblogs.com/dbin1126/p/14635936.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!