Java基础之面向对象的三大特征

山石网科Hillstone防火墙基础上网配置_CLI命令行(最新版) 山石网科Hillstone防火墙安全网关基础上网基础网络配置_CLI命令行(最新版) 阅读详情

面向对象的三大特征

  1. 封装:提高程序的安全性 (数据的准确性)
  2. 继承:提高代码的复用性 (重复使用性)
  3. 多态:提高程序的可扩展性和可维护性

学Java,看这一套就够了

一、封装

  • 隐藏对象内部的复杂性,只对外公开简单的接口,便于外界调用,提高程序的安全性
  • 隐藏实现的细节,仅仅需要关注具体的功能
  • 方法的抽取,仅仅需要关注方法的功能 忽略方法实现的细节
  • 项目的模块化设计 层次的划分

1、对类的属性进行隐藏

使用private关键字 修饰类的成员变量

private修饰的成员变量 仅仅可以在当前类中直接使用

Public class Person{
  private String name;
  private String gender;
  private int age;
}

2、给每个属性提供公有的get(获取)和set(赋值)方法

public class Person {
    private String name;
    private String gender ;
    private int age;
    public void setName(String name){
        this.name = name;
    }
    //定义一个方法 返回当前对象的name属性值
    public String getName(){
        return name;
    }
    public void setGender(String gender){
        //如果性别是男或者女  那么 正常赋值
        if(gender.equals("男")|| gender.equals("女")){
            this.gender=gender;
        }else{
            //如果性别不是男也不是女 那么给一个默认值为 男
            this.gender="男";
        }
    }
    //定义一个方法 返回当前对象的gender属性
    public String getGender(){
        return gender;
    }
    public void setAge(int age) {
        if (age > 0 && age < 100) {
            this.age = age;
        }
    }
    //定义一个方法  返回当前对象对的age属性值
    public int getAge(){
        return age;
    }
    public void showInfo(){
        System.out.println(name+gender+age);
    }
}

测试代码:

public class TestPerson {
    public static void main(String[] args) {
        //获得Person对象
        Person p=new Person();
        p.setName("旋涡刘能");
        p.setGender("男");
        p.setAge(56);
        p.showInfo();
        //仅仅需要查看人的属性  怎么办?
        System.out.println(p.getAge());
        System.out.println(p.getGender());
        System.out.println(p.getName());
    }
}

总结:

  1. 属性全部隐藏 对象内部的特点不让外界知道 我们仅仅需要关注对象的功能即可 内部的实现 使用了哪些成员 统统不用考虑
  2. 数据的安全性和和规范性更高

二、继承

java中由已知类创建新类的一种机制,新类拥有已知类的属性和方法,同时,还可以有自己独有的属性和方法

减少相同代码的反复编写,提高代码的复用性,减少编码量,提高程序的可维护度

继承是怎么来的?

是对N多个类的抽像,根据N多个类,抽取出像的部分,归纳为父类,被抽取的类,称为子类

1、在Java中如何实现继承?

在java中使用extends (扩展)实现继承,说明子类是父类的扩展

新类(子类) extends 已知类(父类)

一个父类可以有多个子类,但是一个子类只能有一个直接父类

【例】

1、先准备父类

public class Car {
    String color;
    String brand;
    String type;
    public void start(){
        System.out.println("一辆"+color+"颜色的"+brand+type+"正在启动");
    }
    public void speedUp(){
        System.out.println("一辆"+color+"颜色的"+brand+type+"正在加速");
    }
    public void speedDown(){
        System.out.println("一辆"+color+"颜色的"+brand+type+"正在减速");
    }
}

2、准备子类

Audi

public class Audi extends Car {
    // 定速巡航
    public void speedKeeping(){
        System.out.println("一辆"+color+"颜色的"+brand+type+"启动了定速巡航");
    }
}

BMW

public class BMW extends Car {
    //温度调节
    public void temperatureRegulation(){
        System.out.println("一辆"+color+"颜色的"+brand+type+"启动了温度调节");
    }
}

测试代码:

public class TestExtends {
    public static void main(String[] args) {
        Audi au =new Audi();
        au.brand="奥迪";
        au.color="黑";
        au.type="TT";
        au.start();
        au.speedUp();
        au.speedKeeping();
        au.speedDown();
      
        BMW b =new BMW();
        b.brand="宝马";
        b.color="白";
        b.type="X5";
        b.start();
        b.speedUp();
        b.temperatureRegulation();
        b.speedDown();
    }
}

2、super关键字

1、当子类中重写父类中同名的属性

那么在子类中父类的同名的属性被隐藏了

如果在子类中想继续使用父类隐藏的属性 那么要使用super关键字调用父类属性

2、子类对父类同名方法的重新定义叫做方法的重写

子类重写父类方法之后 父类的方法就默认隐藏了

如果子类想继续使用父类中被隐藏的同名方法 那么要使用super关键字调用

public class Test1 {
    public static void main(String[] args) {
        S s =new S();
        s.showName();
        s.viewName();
    }
}
//父类F
class F{
    String name="父类name属性的值";
    public void viewName(){
        System.out.println(name);
    }
}
//子类S
class S extends F{
    String name="子类name属性的值";
    public void showName(){
        System.out.println(name);
        System.out.println(super.name);
    }
    //子类重写父类的viewName()方法
    public void viewName(){
        System.out.println(name);
        super.viewName();
    }
}

三、多态

  • 一种事物可以有多种表现形态
  • 父类作为方法参数 所有的子类对象都可以作为实参
  • 父类作为方法的返回值 所有的子类对象都可以返回

子类父类相互转换:

  1. 子类对象可以声明成父类对象
  2. 子类拥父类的属性和方法
  3. 父类不能声明成子类对象
  4. 父类对象可以通过强制转换声明成子类对象 可以通过编译 但是运行的时候会出现 ClassCastException
  5. 当父类对象原本就是由子类对象声明而成的 那么强制转换回子类 就不会报错
  6. 子类声明成父类对象时 调用方法会执行子类的方法
  7. 编译时 认为是父类 只能调用到父类中声明的方法
  8. 执行时 认为是子类 占用子类内存 执行子类方法
public class Test1 {
    public static void main(String[] args) {
       
        F f =new S();
        f.methodA();
        //f.methodB();报错
        System.out.println(f instanceof  F);
        System.out.println(f instanceof  S);
        
    }
}
class F{
    public void methodA(){
        System.out.println("父类中的方法");
    }
}
class S extends F{
    public void methodA(){
        System.out.println("子类中重写父类的方法");
    }
    public void methodB(){
        System.out.println("子类中独有的方法");
    }
}

本文就先写到这里了,你弄懂面向对象的三大特征了吗?

Java零基础入门全套教程

第14.1章 高翔博士2025年11月最新开源框架Lightning-LM源码学习解读(一):激光-IMU定位+建图算法各模块简介 Lightning-LM:高效激光SLAM定位系统 该框架基于模块化设计,通过激光-IMU融合实现快速建图与定位,核心特点包括: 极速性能:纯CPU运行(建图1.2核/定位0.8核) 模块化架构:包含激光里程计(LIO)、地图管理、回环检测等独立模块 动态场景支持:地图分块加载、动静态图层分离 多模式适配:支持ROS2环境下的在线/离线运行 关键模块包括前端里程计(core/lio)、2D/3D地图转换(core/g2p5)、轻量优化库(core/miao)等,通过系统控制器(core/system)协调流 阅读详情

相关推荐

abaqus热力耦合模拟教程学习笔记

学习资源:BV1je4y1a7Ku软件:abaqus2016以m为单位制。

qq_41900477的博客 2万+

java继承

1. 继承 1.1 继承的实现(掌握) 继承的概念 继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法 实现继承的格式 继承通过extends实现 格式:class 子类 extends 父类 { } 举例:class Dog extends Animal { } ...

weixin_30794499的博客 494

【IPAM】Netbox docker模式版本升级

NETBOX 是一个开源的网络资源管理系统,主要用于管理 IP 地址、机架、设备、接口等网络资源信息。下面是 NETBOX 的功能、优点和缺点的详细介绍。

u012153104的博客 1330

Java面向对象三大特征

1 封装思想 封装概述 是面向对象三大特征之一(封装,继承,多态) 是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界是无法直接操作的 封装原则 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问 成员变量private,提供对应的getXxx()/setXxx()方法 封装好处 通过方法来控制成员变量的操作,提高了代码的安全性 把代码用方法进行封装,提高了代码的复用性 “封装”通过合并特征和行为来创建新的数据类型。“实现

qq_44331253的博客 1万+

Linux内核4.14版本——drm框架分析(1)——drm简介

drm框架分析

yangguoyu8023的博客 1万+

第 9 篇:TMC2240 速度调节实战|STEP 信号生成 + 平滑调速算法(无抖动)

摘要:本文详细介绍了TMC2240电机调速方案,重点解决调速时电机抖动、丢步等问题。核心原理是通过STEP信号频率控制转速,结合平滑加减速算法避免电流冲击。文章从速度与STEP频率的数学关系入手,提供了定时器生成固定频率STEP信号的实现代码,并给出不同转速下的频率参数表。针对42步进电机+256微步细分场景,详细讲解了定时器初始化、中断处理及固定转速设置方法,帮助开发者实现稳定调速。全文包含可直接复用的代码片段,适合嵌入式开发者快速实现电机平滑调速功能。

BackCatK Chen的博客 1036

JAVA面向对象【三大特性】

目录一、封装性面向对象的特征一:封装与隐藏一、问题的引入二、封装性的体现:三、封装性的体现需要权限修饰符来配合体会四种不同的权限修饰 练习 二、继承性一、继承性的好处:二、继承性的格式:class A extends B{}三、Java中关于继承性的规定四、object类说明方法的重写override/overwrite 例子 Super关键字的使用 举例:测试 子类实例化父类对象的过程三、多态性举例: 为什么要有多态性虚拟方法的调用 面向对象的特征一:封装与隐藏 一、问题的引入 二、封装性的

芊樱烛渊的博客 4109

用 ADT 连接 SAP S/4HANA Public Cloud 开发租户的完整落地指南

摘要:在SAP S/4HANA公有云中进行ABAP开发时,必须使用Development Tenant(客户端080)而非Customizing Tenant(客户端100)连接ADT工具。开发用户需具备SAP_BR_DEVELOPER角色且写权限不受限,开发对象应创建在结构包的子包中。连接前需确认正确的ABAP服务URL(通常为Launchpad URL去掉"/ui"),并通过运行控制台程序验证全链路功能。典型开发场景如通过BAdI实现业务校验时,需遵循Clean Core原则在指定包

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 342

java面向对象的特征有哪些方面

1、面向对象的特征有哪些方面1)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2)继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原...

qq_36614534的博客 634

电磁场仿真软件:Sonnet_(3).Sonnet用户界面与操作

Sonnet支持用户通过二次开发自定义工具,例如:编写Python脚本,实现自定义功能。将脚本保存为工具插件。在Sonnet中加载并使用自定义工具。# 示例:自定义工具 import sonnet def custom_tool(design , object , parameter , value) : """自定义工具示例,设置对象的指定参数。

kkchenjj的博客 1525

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Java面向对象的三大特征以及理解

Java面向对象的三大特征为:封装、继承和多态,本文说说我对三大特性的理解。1.封装Java中的封装是指一个类把自己内部的实现细节进行隐藏,只暴露对外的接口(setter和getter方法)。封装又分为属性的封装和方法的封装。把属性定义为私有的,它们通过setter和getter方法来对属性的值进行设定和获取。下面我举一个简单的封装例子public class Person { priva...

kuangsonghan的博客 2万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【Java基础】Java 面向对象的三大特征

在 Java 编程的领域中,面向对象编程(Object - Oriented Programming,OOP)是其核心思想,而封装、继承和多态这三大特征则是 OOP 的基石。它们为开发者提供了强大的工具,使得代码更加模块化、可维护、可扩展以及可复用。封装、继承和多态是 Java 面向对象编程的三大核心特征,它们相互关联、相互促进,共同构建了 Java 强大的面向对象编程体系。封装通过访问修饰符和访问器方法将数据和操作封装在一起,保护了数据的安全性,提高了代码的可维护性和可复用性。

小李同学的博客 1705

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

java基础语法+面向对象三大特征预习笔记

(1)封装性:将数据和对数据的操作封装在一起,通过抽象,即从具体的实例中抽取出共同的性质形成的一般概念,例如类的概念;(4)分支结构:简单点来说Java中的分支结构与C语言中的大致相同,都是有if-else的分支结构与switch的分支结构,但是不同的是Java中对布尔类型数据的区分更加细致;最后结果会返回10,但是要注意length与length()是两个不同的东西:length返回的是一个数组的长度,而length.()返回的是字符串中有多少个char字符;如果执行如下代码,则会发生的报错如图。

Green_H6的博客 1512

Java 基础—面向对象的三大特征

java面向对象的三大特征:封装、继承、多态 封装 也叫作信息隐藏。是指利用抽象数据类型把数据和基于数据的操作封装起来,使其成为一个整体,数据隐藏在抽象数据的内部,对外保留接口保持与外界的联系。 封装实现了专业的分工,降低耦合,内部的结构好维护,也可以对成员进行精确的控制 封装的步骤 1)        修改属性的可见性来限制对属性的访问 2)        为每个属性创建

绵落 960

Java基础——面向对象三大特征

基本介绍 面向对象编程有三大特征:封装、继承和多态。 封装(Encapsulation) 封装介绍 封装是指属性私有化,就是把抽象出的数据【属性】和对数据的操作【方法】封装在一起,数据被保护在内部,程序的其他部分只有通过被授权的操作【方法】,才能对数据进行操作。 封装的理解和好处 隐藏实现细节:方法(连接数据库)《--调用(传参),简化编程。 增强数据安全性,不能让其他用户随意访问和修改数据。 封装的实现步骤 将属性进行私有化private 。【不能直接修改属性】 提供一个...

Wen先森的博客 362

Java基础——面向对象的三大特征

1.面向对象的特征-封装 1.1 包 在计算机中保存各种文档的时候,会把不同用途、不同类型的文档按照用户的意愿,分别存放在不同的文件夹中,易于管理和查找。 1.2 包的概念 在复杂的文件系统中,文件的分门别类存储在不同的文件夹中,解决了文件的重名问题,在程序设计过程中,一个系统工程需要编写几百个甚至上千个类文件,也经常遇到类名相同的问题,并且由很多程序研发人员共同协作完成,很难保证不同的程序研发人员选择类名的时候,类名不冲突。Java中使用包管理类文件,Java的类文件存储在不同的包中。在每

qq_52519008的博客 775

【Java基础】面向对象的三大特征和五大原则

在构建一个电商应用程序时,一个高层的“订单处理”模块不应该直接依赖于一个低层的“数据访问”模块。如果有一个多功能打印机接口包含打印、扫描和复制功能,那么只需要打印功能的客户端应该不必实现扫描和复制的接口。这样底层的数据存储我们就可以任意更换,可以用MySQL,可以用Redis,可以用达梦,也可以用OceanBase,因为我们做到了依赖接口,而不是具体实现。封装就是把现实世界中的客观事物抽象成一个Java类,然后在类中存放属性和方法。像现实世界中儿子可以继承父亲的财产、样貌、行为等一样,编程世界中也有继承,

xueping_wu的博客 772

Java基础——面向对象之三大特征

/* * 面向对象的特征之一:封装与隐藏 * * 一、问题的引入: * 实际情况下,一个类的属性的取值通常是有限定的(比如年龄不能是负数等), * 但是在属性层面,只能限定其数据类型,无法进行更复杂的限制, * 想要添加逻辑语句进行复杂的控制,就必须在方法内进行,因此对这类属性的赋值要新建方法,并在方法内进行控制, * 但是单单如此还不够,用户依然可以通过"对象.属...

Clannad191的博客 296

Java基础:面向对象的三大特征

简单来讲,面向对象设计师一种程序设计技术。他将重点放在数据(对象)和对象的接口上。在本质上Java的面向对象能力与C++是一样的,主要不同点在于多重继承,在Java中取而代之的是更简单的接口的概率。 三大特征分别为:封装、继承、多态 封装: 封装是把客观事物抽象成类,并且把自己的属性和方法让可信的类或对象操作,对不可性的隐藏。 将权限设置为private则仅可在本类中访问; 设置公开的get/set方法访问数据 访问修饰符: 访问修饰符 本类 同包 同包子类 其他包

Xxx_Lnox的博客 462

[Java基础] 面向对象的三大特征

前言: 今天我们就聊一聊最基础的,面向对象的三大特征。这个其实很重要,我们有些概念理解的并不是很清楚,所以今天在这里整理一下。 封装 概念 封装是面向对象编程的核心思想。指的就是将描述某种实体的数据和基于这些数的操作集合到一起,形成一个封装体。 封装的思想保证了类内部数据结构的完整性,使用户无法轻易直接操作类的内部数据,这样降低了对内部数据的影响,提高了程序的安全性和可维护性。 好处 只能通过规...

qq_39397165的博客 193

java面向对象三大特征_java基础,面向对象的三大特征

【面向对象】三大特征:封装-->提高程序的安全性 (数据的准确性)继承-->提高代码的复用性 (重复使用性)多态-->提高程序的可扩展性和可维护性一.封装隐藏对象内部的复杂性,只对外公开简单的接口,便于外界调用,提高程序的安全性隐藏实现的细节 仅仅需要关注具体的功能方法的抽取 仅仅需要关注方法的功能 忽略方法实现的细节项目的模块化设计 层次的划分1.对类的属性进行隐藏使用priv...

weixin_39917791的博客 111

Java基础编程之面向对象三大特征

面向对象三大特征 一、封装 1、封装性的体现: 1)、狭义上体现: ①私有化(private)类的属性xxx,同时,提供公共的(public)设置(setXxx())和获取(getXxx())的方法; ②如果类中的方法,不希望在类外被调用,我们可以设置为private的; ③如果类A不希望在本包之外被调用,那么可以将此类A声明为缺省的; ①单例模式: 如果枚举类的对象只有一个,可以看成单例模式的实现方式 //枚举类单例模式的实现 class enum Person{ MAM; priv

weixin_50522909的博客 280

Java基础之面向对象三大特征

面向对象三大特征 封装 /** 封装:将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问 封装的好处: -只能通过规定方法来访问数据 -隐藏类的实现细节 -方便修改实现 -方便加入控制语句 封装的步骤: -修改属性的可见性,设置位private -创建共有的getter/setter方法,用于属性的读写 -在getter/setter方法中添加属性控制语句,对属性值的合法性进行判断 */ public class Person { private

qq_44007780的博客 145

JAVA基础_Java面向对象三大特征

封装(面向对象特征之一)首先,属性可用来描述同一类事物的特征,方法可描述一类事物可做的操作。封装就是把属于同一类事物的共性(包括属性与方法)归到一个类中,以方便使用。 1.概念:封装也称为信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的

Hakey的博客 718
上一篇: Java程序员经典面试题集大全(二十)
下一篇: Java工程师在IT行业到底有多受欢迎?
java__yyds
博客等级 码龄5年 19粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值