Java教程

(Java)封装与继承

本文主要是介绍(Java)封装与继承,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

封装与继承

封装

封装的作用(好处)

  1. 提高程序安全性,保护数据
  2. 隐藏代码的实现细节
  3. 统一接口
  4. 增加系统可维护性

属性私有(关键字private)

加上Private可使该属性私有于一个类,在其他地方new此类后不可通过'.'访问私有属性

get,set

用于操作私有属性

e.g.

//get获取这个数据
public String getName(){
    return this.name;
}
//set给这个数据设置值
public void setName(String name){
    this.name = name;
}

快捷键:alt+insert可以直接生成get、set

继承(关键字extends)

  • 继承是类和类之间的关系

  • 只有单继承没有多继承(不可同时继承多个类)

  • private不可继承,但可以用get、set进行操作

  • 一般继承的都是public

  • 继承是扩展的意思

  • 子类是父类的拓展

  • 可以看作是树

e.g.

//父类
public class Person{
    
}
//派生类(子类)
public class Student extends Person{
    
}
//派生类(子类)
public class Teacher extends Person{
    
}

Ctrl+H为打开继承树的快捷键

Object是所有类都默认直接或间接继承的类

super、this

super.属性 表示父类里的属性

this.属性 表示此类里的属性

  • 子类中默认隐藏代码:调用父类的无参构造
  • 调用父类构造器必须在字类构造器的第一行
  • super只能在子类的方法或构造方法中
  • super和this不能同时调用构造方法、

方法重写

  • 重写都是方法的重写,与属性无关
  • 父类的引用指向子类
  • 静态方法的调用只和左边定义的数据类型有关

e.g.

//父类
public class Person{
    public static void test(){
        Sytem.out.println("P->test");
    }
}
//派生类(子类)
public class Student extends Person{
    public static void test(){
        Sytem.out.println("S->test");
    }
}
Person p = new Student();
p.test();//调用了Person中的test
Student s = new Student();
s.test();//调用了Student中的test
  • Override 重写

    • 快捷键Alt+Insert
    • 只和非静态方法有关
    • 重写后调用方法会执行重写后方法
    • 重写对象关键字public
    • 子类重写父类的方法
    • 为什么重写
      • 父类的功能子类不一定满足
  • 注:

    • 方法名必须相同,方法体不同
    • 参数列表必须相同
    • 修饰符范围可以扩大但不能被缩小 public>Protected>Default>private
    • 抛出的异常可以缩小但不能扩大
这篇关于(Java)封装与继承的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!