第三章java的三大特性

 

第三章类的封装继承多态

Java第一特性封装

java的封装(Encapsulation)是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节

上面是百度百科的定义:我个人觉得封装是把冲重复、不该看的隐藏起来,打包好,方便下次使用,提高效率。

用代码表示

public class person {
   private  String  name; //私有属性
   private String  sex;
   private int age;

   //方法封装 对其他类提供方法的封装
   public String getName() {
       return name;
  }
   public void setName(String name) {
       this.name = name;
  }

   public String getSex() {
       return sex;
  }

   public void setSex(String sex) {
       this.sex = sex;
  }

   public int getAge() {
       return age;
  }

   public void setAge(int age) {
       this.age = age;
  }

   public person() {
  }
       public person(String name, String sex, int age) {
       this.name = name;
       this.sex = sex;
       this.age = age;
  }

   @Override
   public String toString() {
       return "person{" +
               "name='" + name + '\'' +
               ", sex='" + sex + '\'' +
               ", age=" + age +
               '}';
  }
}

调用方法的封装

public class Student {

   public static void main(String[] args) {

       person person = new person();

       person.setName("小明");//调用封装的方法
       person.setAge(23);
       person.setSex("男");
       
   
       System.out.println(person);

  }
}

Java的第二特点继承

java继承(extends)是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据qi或新的功能,也可以用父类的功能,但不能选择性地继承父类。

通过继承可以获得继承的,可以设置父类的方法和变量等。

   static class P3 extends  person{
       //创建一个类继承person
  }

子类P3获得了父类的封装方法,将类实例化试着去输出一下

        p3 p3 = new p3();

       p3.setName("xiaominger");
       p3.setSex("男");
       p3.setAge(12);

       System.out.println(p3);

  }

控制台的输出

person{name='xiaominger', sex='男', age=12}

说明子类p3继承了person的类方法。

第三点java的多态

   person p4= new  p3();
       p4.setName("xiaoming");
       p4.setSex("女");
       p4.setAge(19);
       System.out.println(p4);

这个是常见的多态写法向上转型

多态有两种

向上转型:子类对象—》父类对象;

向下转型:父类对象—》子类对象;

    person pp= new p3();
   jicheng.p3 pp2= (p3) pp; //这句才是向上转型的关键

 

  • 向下转型的前提是父类对象指向的是子类对象(也就是说,在向下转型之前,它得先向上转型)

  • 向下转型只能转型为本类对象

参考其他的文章

 

 

posted @ 2021-01-28 15:06  小明日记  阅读(62)  评论(0)    收藏  举报