Day08-封装与继承

2024-03-10 11:48
文章标签 封装 继承 day08

本文主要是介绍Day08-封装与继承,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Day08

  • 总结
    • static关键字
    • 包的命名规范
    • 设计类
      • 封装
    • this关键字
    • 继承
      • 子类可以从父类继承什么
      • 特点
    • 方法重写(Override)
      • 注意事项

总结

我是最棒的!基础不牢,地动山摇!

static关键字

static是静态修饰符,表示静态的

  1. 可以修饰普通方法

  2. 可以修饰字段[ 成员字段 ]

  3. 可以修饰内部类[暂时不了解]

  4. 不可以修饰外部类

  5. 不可以修饰局部变量;

  6. 不可以修饰构造方法

//static修饰的变量有一个静态区,一般是全局常量用static修饰
class Test{public static final int SIZE = 32;//数学上的PIpublic static final double PI = 3.14;
}
  1. static类级别的修饰符理解

    (1) static修饰的字段:应该通过类名.字段名访问

    (2) static修饰的字段:应该通过类名.方法,该字段被该类的所有对象共享

  2. 对象级别

    (1) 非static修饰的字段:对象名.字段名

    (2) 非static修饰的字段及方法,当创建对象时候,独属于每每一个对象,每有被该类的所有对象共享

  3. 静态上下文不能访问非静态的变量及方法

  4. 非静态上下文可以访问静态上下文:

对象是指具体的个体(也叫做实例instance)

包的命名规范

包命名规范:

一般是公司域名反过来写+项目名+模块名字+子模块名

设计类

封装

通过给类中的成员(字段,方法,构造方法)添加访问权限来实现访问控制

访问权限修饰符

//public 任何地方都能访问
//protected 本包中所有的类或者是它们的子类
//默认不写 本包中的所有类
//private 只允许本类中

###javaBean标准类

概念

  1.  字段必须私有化
    
  2.  给每一个字段提供合理的getter setter方法
    
  3. 必须有一个公共的无参数的构造方法;    
    

4) 类是公共的

package cn.itsource.pottindemo;
/*** 标准javabean* * 1.字段用private修饰* 2.有一个无参构造方法* 3.每个字段有对应的get和set方法* 4.类必须用public修饰* * @author tyx666**/
public class Student {/**姓名字段和年龄字段*/private String name;private int age;/**无参构造方法*/public Student(){}/**有参构造方法*/public Student(String name,int age){this.name = name;this.age = age;}/**每个字段的get和set方法*/public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}

this关键字

指代的是当前对象

###适用场景

  1. 解决局部变量和成员变量的二义性 — get set 方法中的应用[在get/set可以写this]

  2. 作为返回值返回 : this持有对象地址,表示该类的一个对象即是一个数据

  3. 作为参数传递

  4. 本类中构造方法之间的相互调用,但必须是构造方法中的第一句

	/**无参构造方法*/public Student(){//调用有参构造方法this("xxx", 20);}/**有参构造方法*/public Student(String name,int age){this.name = name;this.age = age;}

继承

主要是提高代码的复用性,把相同的部分抽出去放到另一个类中,这个类叫其他类的父类(超类,基类,根类)。继承它的类叫子类(派生类,拓展类)

子类可以从父类继承什么

非私有的方法和字段可以被继承到,构造方法不能继承

私有方法和字段可以通过其他方法间接调用

特点

  1. 单继承

    一个类只能有一个直接父类

  2. 多重继承

    一个类可以有子类,子类也可以有子类,以此类推

  3. 隐式继承

    每个类都间接或者直接地继承了Object类

方法重写(Override)

方法名和形参列表相同,根据自己的需求来重写方法。

例如人和猪都会吃,都是吃的东西不一样

class Person extends animal{@Overridepublic void eat(){System.out.println(“人吃猪肉”);}
}class Pig extends animal{@Overridepublic void eat(){System.out.println(“猪吃白菜”);}
}

注意事项

  1.     重写只能出现在继承关系之中。当一个类继承它的父类方法时,都有机会重写该父类的方法。前提是父类的方法没有被被final(中文意思:最终的,以后讲)修饰
    
  2.     子类方法和父类方法的方法签名(方法名+参数列表)完全一致;
    
  3.     访问权限 : 子类方法的访问权限(修饰符)不能够比父类方法的访问权限更低(大于等于);
    
  4.     static 方法不能够被重写 (java语法)
    
  5.     返回值类型 : 子类方法的返回值类型可以是父类方法的返回值类型的子类或者相等
    

问题代码: int long根本不是类,int也不是long的子类

  1.     子类抛出的异常(Exception)下不能超过父类相应方法抛出的异常(子类异常不能大于父类异常,异常以后讲)
    
  2.     方法体 : 子类方法和父类方法主体可以一样, 但是没有任何意义!
    

这篇关于Day08-封装与继承的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/794146

相关文章

JavaSE——封装、继承和多态

1. 封装 1.1 概念      面向对象程序三大特性:封装、继承、多态 。而类和对象阶段,主要研究的就是封装特性。何为封装呢?简单来说就是套壳屏蔽细节 。     比如:对于电脑这样一个复杂的设备,提供给用户的就只是:开关机、通过键盘输入,显示器, USB 插孔等,让用户来和计算机进行交互,完成日常事务。但实际上:电脑真正工作的却是CPU 、显卡、内存等一些硬件元件。

哈希表的封装和位图

文章目录 2 封装2.1 基础框架2.2 迭代器(1)2.3 迭代器(2) 3. 位图3.1 问题引入3.2 左移和右移?3.3 位图的实现3.4 位图的题目3.5 位图的应用 2 封装 2.1 基础框架 文章 有了前面map和set封装的经验,容易写出下面的代码 // UnorderedSet.h#pragma once#include "HashTable.h"

封装MySQL操作时Where条件语句的组织

在对数据库进行封装的过程中,条件语句应该是相对难以处理的,毕竟条件语句太过于多样性。 条件语句大致分为以下几种: 1、单一条件,比如:where id = 1; 2、多个条件,相互间关系统一。比如:where id > 10 and age > 20 and score < 60; 3、多个条件,相互间关系不统一。比如:where (id > 10 OR age > 20) AND sco

七、Maven继承和聚合关系、及Maven的仓库及查找顺序

1.继承   2.聚合   3.Maven的仓库及查找顺序

Java封装构造方法

private/public的分装 被public修饰的成员变量或者是成员方法,可以被类的调用对象直接使用 而private修饰的成员变量和方法,不能被类的调用对象使用 例如: 可以看到我们是不能在main方法中直接调用被private修饰的变量 当然我们可以在我们定义的TestMode类中可以定一个方法show,然后在调用show方法实现 这里我们可以清楚了解 private 不光可以修

C++数据结构重要知识点(5)(哈希表、unordered_map和unordered_set封装)

1.哈希思想和哈希表 (1)哈希思想和哈希表的区别 哈希(散列、hash)是一种映射思想,本质上是值和值建立映射关系,key-value就使用了这种思想。哈希表(散列表,数据结构),主要功能是值和存储位置建立映射关系,它通过key-value模型中的key来定位数组的下标,将value存进该位置。 哈希思想和哈希表数据结构这两个概念要分清,哈希是哈希表的核心思想。 (2)unordered

OOP三个基本特征:封装、继承、多态

OOP三个基本特征:封装、继承、多态 C++编程之—面向对象的三个基本特征 默认分类 2008-06-28 21:17:04 阅读12 评论1字号:大中小     面向对象的三个基本特征是:封装、继承、多态。     封装 封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。   封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信

c++ 类的继承详解

在 C++ 中,类的继承是一种面向对象编程(OOP)的特性,允许创建一个新的类(派生类)从一个已有的类(基类)派生。通过继承,派生类可以重用基类的属性和行为,并且可以扩展或修改这些行为。继承是一种代码重用和扩展的机制,使得派生类能够继承基类的特性并添加或修改特性。 1. 继承的基本语法 class Base {// 基类的成员};class Derived : public Base {//

Android 优雅封装Glide

文章目录 Android 优雅封装Glide核心思想定义策略接口定义图片选项实现Glide策略图片管理类使用 Android 优雅封装Glide 核心思想 使用策略模式实现不同图片加载框架的切换,使用建造者设计模式处理不同参数,最后通过 ImageLoader 进行管理。 定义策略接口 interface ILoaderStrategy {fun loadImage(co