首页 > 其他分享 >封装,继承,Super详解,方法重现

封装,继承,Super详解,方法重现

时间:2023-08-23 10:56:01浏览次数:38  
标签:封装 继承 super age 详解 子类 父类 Super public

封装,继承,Super详解,方法重现

1.封装定义:

该露的露!该藏的藏。我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。

封装(数据得隐藏)

记住这句话就够了:属性私有,get/set

package com.oop.demo4;
import com.oop.demo4.Student;

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

public class Application {
   public static void main(String[] args) {
       Student s1= new Student();
       s1.setName("你好");
       System.out.println(s1.getName());
       s1.setAge(20);
       System.out.println(s1.getAge());
  }
}
package com.oop.demo4;

//类 private私有
public class Student {

   // 名字
   private String name;

   // 学号
   private  int id;

//   性别
   private String sex;

   // 年龄
   private int age;

   // 提供一些可以操作这个属性得方法
   // 提供一些public得get/set方法

   //获取值
   public String getName(){
       return this.name;
  };

   //设置值
   public  void  setName(String name){
       this.name=name;
  }

   // alt + insert


   public int getId() {
       return id;
  }

   public void setId(int id) {
       this.id = id;
  }

   public String getSex() {
       return sex;
  }

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

   public int getAge() {
       return age;
  }

   public void setAge(int age) {
       if(age>120 || age<0){
           this.age=3;
      }else{
           this.age = age;
      }

  }
}
2.继承
  1. 继承本质是对某一批类得抽象,实现更好得建模。

  2. extends的意思是“扩展”。子类是父类扩展。

  3. JAVA中类只有单继承,没有多继承!一个儿子只能继承一个,一个父可以有多个儿子。

  4. 继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。

  5. 继承关系的俩个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示。子类和父类之间,从意义上讲应该具有"is a"的关系.

  6. ctrl+h(明确继承关系)

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

3.super详解

super方法用于当子类的属性名和父类的属性名一样时候。用super.父类属性名,获取父类属性,或者调用父类方法。private的属性无法用super调用

super调用必须在构造器的第一行。

注意点:

  1. super调用父类的构造方法,必须在构造方法的第一个。

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

  3. super和this不能同时调用构造方法!

super和this的不同

  1. 代表对象不同:this:本身调用者这个对象。super:代表父类对象的应用。

  2. 前提:this:没有继承也可以使用。super:只能在继承条件才可以使用。

  3. 构造方法:this():本垒的构造;super():父类的构造。

4.方法重现

前提:需要有继承关系,子类重写父类的方法!

  1. 方法名必须相同。

  2. 参数列表必须相同。

  3. 修饰符:范围可以扩大,但是不能缩小public>protected>default>private。static也不能用于重写。

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

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

为什么需要重写:

  1. 父类功能,子类不一定需要,或者不一定满足!

  2. Alt+insert:override

标签:封装,继承,super,age,详解,子类,父类,Super,public
From: https://www.cnblogs.com/yuan947022015/p/17650600.html

相关文章

  • JS中的JSON.Stringify 方法详解
    JSON.stringify是JavaScript中的一个方法,用于将JavaScript对象转换为JSON字符串。语法:JSON.stringify(value,replacer,space)参数说明:value:要转换为JSON字符串的值。replacer(可选):用于过滤和转换结果的函数或数组。如果是函数,则只转换函数返回的结果;如果是数组,则......
  • Hive执行计划详解
    什么是HiveSQL执行计划HiveSQL执行计划描绘了SQL实际执行的整体轮廓,即SQL转化为对应计算引擎的执行逻辑;毫无疑问,这一块对于HiveSQL的优化是非常重要的。HiveSQL早期是基于规则的方式生成执行计划,在Hive0.14及之后,集成了ApacheCalcite,使得Hive能够基于成本代价来生成执行计......
  • sql语句中exists用法详解
    文章目录一、语法说明exists:notexists:二、常用示例说明1.查询a表在b表中存在数据2.查询a表在b表中不存在数据3.查询时间最新记录4.exists替代distinct剔除重复数据总结一、语法说明exists:括号内子查询sql语句返回结果不为空(即:sql返回的结果为真),子查询的结果不为空这条件成立,执行......
  • Apipost数据模型功能详解
    在API设计和开发过程中,存在许多瓶颈,其中一个主要问题是在遇到相似数据结构的API时会产生重复性较多的工作:在每个API中都编写相同的数据,这不仅浪费时间和精力,还容易出错并降低API的可维护性。为了解决这个问题,Apipost推出了数据模型板块。用户可以预先创建多个数据模型,并在API设计过......
  • SAP Fiori Tools Page Map 的实现详解和故障排除试读版
    本教程前面的文章,笔者介绍了使用SAPFioriTools这个工具里包含的ApplicationModeler提供的PageMap功能,来给FioriElementsListReport应用添加自定义列的详细步骤。10.如何通过扩展(Extension)的方式给SAPFioriElementsListReport的表格新增列我们在Visua......
  • Java Web中出现的一些乱码问题总结(详解)
    三、JavaWeb中出现的一些乱码问题总结(详解) 一、response.getWriter().write()和response.getWriter().print()的区别response.getWriter()返回的是PrintWriter,这是一个打印输出流response.getWriter().write()和response.getWriter().print()是响应给客户端的东西,如果不用......
  • 16.exec函数详解
    16.exec函数详解1.exec函数说明fork函数是用于创建一个子进程,该子进程几乎是父进程的副本,而有时我们希望子进程去执行另外的程序,exec函数族就提供了一个在进程中启动另一个程序执行的方法。它可以根据指定的文件名或目录名找到可执行文件,并用它来取代原调用进程的数据段、代码段......
  • Apipost数据模型功能详解
    在API设计和开发过程中,存在许多瓶颈,其中一个主要问题是在遇到相似数据结构的API时会产生重复性较多的工作:在每个API中都编写相同的数据,这不仅浪费时间和精力,还容易出错并降低API的可维护性。为了解决这个问题,Apipost推出了数据模型板块。用户可以预先创建多个数据模型,并在API设计......
  • 13.Linux中fork函数详解(附图解与代码实现)
    13.Linux中fork函数详解(附图解与代码实现)我们先来看个代码,判断一下这个代码的输出结果会是什么样的,先不要去看运行结果,判断好后再去看看是否和你的预期结果一致。#include<stdio.h>#include<unistd.h>#include<stdlib.h>#include<string.h>intmain(void){ pid_tpid; ......
  • ⛳ TCP 协议详解
    ⛳TCP协议详解TCP/IP协议包含了一系列的协议,也叫TCP/IP协议族(TCP/IPProtocolSuite,或TCP/IPProtocols),简称TCP/IP。TCP/IP协议族提供了点对点的连接机制,并且将传输数据帧的封装、寻址、传输、路由以及接受方式,都予以标准化。......