Java面向对象三要素 您所在的位置:网站首页 实验三大要素是什么 Java面向对象三要素

Java面向对象三要素

2024-07-13 07:12| 来源: 网络整理| 查看: 265

文章目录 一、封装 1 定义 2 this关键字 二、继承 1 定义 2 super关键字 3 重载与重写 重载 重写 三、多态 1 抽象类 2 接口 3 类型转换

面向对象三要素:封装、继承、多态

一、封装 1 定义

细节(变量和方法)隐藏,成员变量设置为私有(private),然后提供set和get方法读和取。 通俗的讲,封装就是不允许直接访问成员变量,必须通过set和get方法来访问。 优点:安全,便于重构。

public class ThreeDemo { private String userName; //set方法:给私有化变量赋值 public void setUserName(String v) { userName = v; } //get方法:获取私有化变量的值 public String getUserName() { return userName; } } public class Test { public static void main(String[] args) { ThreeDemo td = new ThreeDemo(); td.setUserName("Mike"); //无法直接访问td.userName,故不可以用td.userName = “Mike”赋值 System.out.println(td.getUserName()); } } 2 this关键字

表示当前类的对象 1 通过 this 关键字可以明确地去访问一个类的成员变量,解决与局部变量名称冲突的问题。 2 通过 this 关键字调用成员方法. 3 可以在一个构造方法中去使用 "this([参数1,参数2…])"的形式去调用其他构造方法。

注意: 1 只能在构造方法中使用this去调用其他构造方法 2 this关键字调用构造方法只能放在第一行,且只出现一次 3 不能在同一个类的两个构造方法中互调,产生编译错误

public class Father { public String name; public int age; public Father() { //无参构造方法 System.out.println("Father"); } public Father(String name, int age) { //有参构造方法 System.out.println("Father!"); } } public class Child extends Father{ public Child() { this("Mike"); //super()与this()不能同时出现在构造函数中 //因为二者都需要放在构造函数的第一行 //但可以只写this,因为系统会自动使用super() System.out.println("Child"); } public Child(String str) { System.out.println("Child!"); } public static void main(String[] args) { Child c = new Child(); } } 二、继承 1 定义

通过关键字extends来声明子类与父类的继承关系:子类 extends 父类 1 所有类都有父类,即所有类都派生于Object类 2 只能单亲继承,即每个子类只能有一个父类 3 子类可以直接使用继承的变量和方法,不需要再在子类中声明或写出 4 子类只能继承父类的非private修饰的变量和方法 5 如果子类中公有的方法影响到了父类的私有属性,那么私有属性是能够被子类使用的。即通过父类的公有方法访问到父类的私有变量。

public class Father { public String name; public int age; private String hobby;


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有