Java面向对象总结02

Java学习——面向对象02 本文总结了面向对象编程的三大特性:封装、继承和多态。封装通过属性私有化和get/set方法实现数据保护;继承使用extends实现子类对父类的扩展,注意单继承限制;多态通过父类引用指向子类对象,实现方法重写和动态调用。文章还介绍了super和this关键字的区别、方法重写规则、instanceof运算符的类型判断作用,以及多态的优势和弊端。这些特性共同构成了面向对象编程的核心思想,提高了代码的可维护性和扩展性。 阅读详情
类和对象:




类是对象的集合,对象是类的实例


定义类:

public class 类名{

属性; //静态的 特征
方法; //动态的 行为

}

创建对象:

public class  测试类{

public  static void main(String[] args){

类名 对象=new 类名();
对象.属性;
对象.方法:
}
}


面向对象的思想:

面向对象和面向过程的区别:

面向对象侧重于对象本身,对象可以封装属性和方法
面向过程侧重于过程,代码的逻辑执行


面向对象的特征:


1. 封装

吧属性用私有 private, 通过公共的getter,setter方法来实现队属性的访问

2. 继承

子类能够继承父类的属性和普通方法,构造方法不能被继承
子类不能继承子类访问不到的属性和方法
父类private 子类就访问不到
父类 默认, 异包中子类访问不到

好处: 实现代码复用

3. 多态

用父类来表示子类自己不一样的形态

条件: 1. 继承 2, 重写  3, 父类引用指向子类对象

本质上向上转型  自动类型转换

多态好处:

减少代码量,提高程序的可维护性和可扩展性

4. 抽象  部分资料里面是:

// 第一种不属于抽象  属性被父初始值了   第二种属于抽象

class AAA{
String name="张三";
int health=90;
//方法
}



class AAA{
String name;
int health;
//方法
}


方法:




构造方法:
特点: 方法名和类名相同,没有返回值类型

分类: 有参和无参的构造方法

作用: 创建对象用的,new 关键字调用的是构造方法

不能通过对象名来调用构造方法

如果类里面没有任何构造方法,系统会默认提供一个无参的构造方法
如果有有参的,系统将不再提供;
建议: 有参的无参的都写上或者都不写

普通方法:


分类:

根据参数:  有参的和无参的

根据返回值: 有返回值和没返回值的方法

没返回值: void
有返回值: 方法名前写返回值类型   return  返回值;



方法的重载: overload

方法名相同,参数列表不同(包括个数和对应位置类型不同),跟返回值类型和修饰符没关系
用在本来当中

构造方法和普通方法都能重载


方法的重写: override

方法名,返回值类型,参数列表相同,子类重写的方法的访问权限>=父类的权限;方法里面的逻辑不一样

用在继承当中,子类重写父类的方法

构造方法由于不能被继承,所以不能被重写

属性不能被重写,属性叫覆盖,覆写,类似重写的作用



关键字:

访问权限修饰符:

修饰类,属性,方法   权限依次增大

private: 私有的,用在本类当中

默认:  什么都不写就是默认的,用在本包中

protected: 受保护的, 用在本包或者异包中子类 

public:公共的吗,在该醒目中任何地方


this:


代表当前对象,用在本类当中

1. this.属性 区分属性和参数
2. this.方法 调用当前普通方法
3. this() 调用无参的构造方法 必须写在方法内部第一句
4. this(参数值,参数值,。。) 调用有参的构造方法 必须写在方法内部第一句

super:


代表父类对象,用在子类当中,调用父类的相应信息
1. super.属性 调用父类的相应属性
2. super.方法 调用父类的普通方法
3. super() 调用父类无参的构造方法 必须写在方法内部第一句
4. super(参数值,参数值,。。) 调用父类有参的构造方法 必须写在方法内部第一句

有参的和无参的构造方法里面都不由一个默认的super()   几遍不写也会有一个默认的

static:

静态的

静态属性和静态方法一般通过类名打点调用,也能通过对象名来调用,但不建议

1. static  属性   属于类变量 和所有类的对象之间是一对多的关系
2. static 方法   只能调用静态内容

3. static{}  静态块 只能调用静态内容   第一次使用到该类的时候就自动加载执行
主要做初始化工作


final:


最终的

1. final 属性   该属性必须有初始值,是个常量,不能被重新赋值
2. final 方法    不能被重写
3. final 类      不能被继承



抽象类:

不能被实例化
类前面有abstract关键字

抽象方法: 方法前有abstract关键字,没有方法体,{}也没有

抽象类的子类必须重写抽象类里的抽象方法

抽象类里面可以有0--多个抽象方法

抽象方法必须存在于抽象类里面



接口:

表示一种约定或能力

不能被实例化

接口里面只能定义常量和抽象方法

接口里的抽象方法也没方法体 ,{} 额没有,abstract可写可不写

接口的实现类必须重写接口里的抽象方法

实现类能同时实现多个接口,继承只能继承单个

抽象类侧重属性,接口侧重能力和约定




02 Java面向对象—第3节 面向对象进阶 目录一、面向对象进阶训练任务1.、编写一个类 Book,代表图书问题描述代码2、通过类描述开课吧的 Java 学员问题描述代码3、通过类描述衣服, 每个衣服对象创建时需要自动生成一个序号值问题描述解题思路代码关键技术 一、面向对象进阶训练任务 1.、编写一个类 Book,代表图书 问题描述 具有属性: 名称(title)、页数(pageNum),其中页数不能少于 200 页,否则输出错误信息,并赋予默认值 200。 具有方法: 为各属性设置赋值和取值方法。 detail,用来在控制台输出每 本图书的名称和 阅读详情

相关推荐

Amesim基础篇-热仿真常用模型库-Thermal Hydraulic /Resistance

流体库、管路库在热管理中是必备模块,如动力电池液冷循环系统均需要Thermal Hydraulic /Resistance库的元件建模。

2201_75375391的博客 5669

02—java面向对象

。。。 目录 一、类与对象 1.1、类与对象的概念 1.1.1、概念 1.1.2、面向对象的特征 1.2、类的定义与使用 1.2.1、类的定义—创建类 1.1.2、类的使用—创建对象 1.3、源文件声明规则 二、方法 2.1、方法的定义与使用 2.1.1、定义 2.2.2、private方法 2.2.3、this变量 2.2.4、方法的调用 2.2、方法...

TU_JCN的博客 687

CATIA_DELMIA_V5R2019安装包下载及安装教程破解

CATIA_V5R2019/DELMIA_V5R2019安装包下载及安装教程破解

一只机械工装熊的博客 8378

javase 02 java面向对象

02 java面向对象 解决问题的思维方式:面向对象,怎么做,谁可以做,叫他做。 ​ 面向过程,第一步做什么,第二步做什么。 面向对象: 都是解决问题的思维方式,都是代码组织的方式。 解决简单问题可以使用面向过程 解决复杂问题:宏观上使用面向对象把握,微观处理上仍然是面向过程。 面向对象思考方式: 遇到复杂问题,先从问题中找名词,然后确立这些名词哪些可以作为类,再根据问题需求确定的类的属性和方法,确定类之间的关系。 面向对象编程语言的三大特征 封装 继承 多态 封装:

皮皮亮的博客 506

1553B通信项目开发笔记(一)协议概述

最近接了个项目,需要用1553B协议通信,仅作为RT端口进行通信,控制器采用ARM 使用芯片为国产的BU61580芯片,功能和引脚和DDC的61580完全一致。

u010396127的博客 2万+

kubeadm init 运行时kebelet启动失败问题

解决k8s kubeadm init时遇到的kubelet问题

ZDPZN的博客 6074

Java面向对象02

1.匿名对象 经过对面向对象的介绍和学习,以及对象的使用,基本对面向对象的概念和使用有较深的理解。但我们在使用对象的时候都会给对象创建引用,并且通过这个引用来使用创建的对象。 看如下代码: class Car { //描述属性。颜色,轮胎数。 String color; int number; //描述行为。 void run() { ...

qq_41439534的博客 297

【物联网毕设】多模态智能门禁系统设计(STM32+人脸识别+蓝牙联动)

本文详细介绍了基于STM32的多模态智能门禁系统设计,整合了人脸识别、蓝牙联动、RFID和密码等多种开锁方式。文章从硬件选型、电路设计、嵌入式软件编程到手机APP开发,提供了完整的毕设实现方案与调试指南,帮助物联网与嵌入式方向的学生构建一个功能全面、可扩展的智能门禁系统。

rain6的博客 248

02 Java面向对象

Java作为一门完全面向对象的语言,笔者感到其威力体现在面向对象的概念大大抽象了程序繁琐的细节,提取了程序间的共性和联系,使得开发者可以投入更多精力在设计程序而不是写代码上。

Aal Izz Well 796

AD快速上手笔记

本文详细介绍了使用Altium Designer从零创建PCB项目全流程:新建工程、绘制原理图(元件放置、连线、电源端口)、编译检查、生成PCB、布局布线(含铺铜)、DRC检查及输出Gerber与钻孔文件。重点强调了库选择、参数修改、层切换、铺铜设置和生产文件导出规范,确保设计无误,便于顺利下单生产。

qq_53529450的博客 42

工业级实战:C#上位机集成YOLO实现多目标跟踪(含数据库存储+报表导出)

推理核心:ONNX Runtime实现C#直接推理YOLO模型,GPU优先+CPU降级适配工业机;跟踪核心:SORT算法轻量级实现多目标跟踪,保证工业场景实时性与稳定性;数据核心:MySQL存储+本地缓存,Excel报表标准化导出,满足工业数据追溯与质检需求;部署核心:模型优化、GPU加速、开机自启,保证工业级7x24小时运行。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 476

【JAVA02】面向对象

new 是在堆上开空间。先定义类再生成对象。

weixin_51947647的博客 126

RDKit | 基于Pytorch和RDKit建立QSAR模型

QSAR 定量构效方法(quantitative structure-activity relationship, QSAR)是应用最为广泛的药物设计方法。所谓定量构效方法就是通过一些数理统计方法建立其一系列化合物的生理活性或某种性质与其物理化学性质之间的定量关系,通过这些定量关系。可以预测化合物的生理活性或某些性质,指导我们设计出具有更高活性的化合物。 早在...

DrugOne 5079

Java基础02 面向对象

Java基础02 面向对象

DLNovice的博客 2487

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

java面向对象类的设计02

java面向对象类的设计 2. 方法的参数传递值传递与引用传递 static静态变量 (1)static可以修饰变量,方法 (2)被static修饰的变量或者方法是独立于该类的任何对象,也就是说,这些变量和方法不属于任何一个实例对象,而是被类的实例对象所共享。 (3)在类被加载的时候,就会去加载被static修饰的部分。 (4)被static修饰的变量或者方法是优先于对象存在的,也就是说当一个类加...

VioletEvgarden的博客 183

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Java实验02 面向对象(上)

实验二 面向对象(上) 实验2-1 定义学生类 一、实验描述 1、 考核知识点 名称:类和对象 2、 练习目标  掌握类定义的方式  掌握如何在类中定义成员变量和成员方法 3、 需求分析 在面向对象的思想中最核心就是对象,在程序中创建对象的前提是需要定义一个类。本实验设计一个表示学生的类,该类具有表示姓名的属性name和表示年龄的属性age,同时还具有表示说话行为的方法speak(),用于输出学生的姓名和年龄。 4、 设计思路(实现原理) 1)使用class关键字定义一个表示学生类型的类,类名为Stu

将~军的博客 1万+

WINCC7.3破解文件

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

java_02面向对象

编程思想 面向过程思想,解决问题的时候按照一定的过程,以过程为本,复用性低,增加很多冗余 面向对象的编程思想,按照实体的特点进行解决问题,复用性高,实体是动作的支配者 类和对象: 类,抽象笼统的概念,描述一类事物,肯定是具有相同的特征行为 ​ 2. 对象,一个具体的事物,事物的支配者 public class TestClass { //这个文件是为了描述计...

weixin_42479155的博客 200

JAVA面向对象02

【代码】JAVA面向对象02。

2402_85051002的博客 691

02夯实基础之Java面向对象

文章目录Java面向对象编程学习目标:知识点列表:前言:类、对象、属性、方法、构造器(1)类(2)对象(3)属性(4)方法(5)构造器封装、继承、多态(1)封装性:所有的内容对外部是不可见的封装的优点:实现封装的步骤:(2)继承性:将其他类的功能继承下来继续发展继承的声明:(3)多态性:方法的重载本身就是多态性的一个体现多态的体现:多态的优点:多态存在的必要条件:多态的实现方式:多态的使用:重写、重载(1)重写(Override)重写的规则:(2)重载(overload)构造方法的重载:重载的规则:访问权限

小白的Soda的博客 2207

java面向对象进阶02

java面向对象进阶1.封装(private)2.this关键字3.staticg关键字4.代码块普通代码块构造代码块静态代码块同步代码块5.包6.import关键字7.权限修饰符8.main方法详解 1.封装(private) 在开发中, 为了避免出现逻辑错误, 我们建议对所有属性进行封装,并为其提供setter及getter方法进行设置和取得 操作。 通过private修饰后,该属性只能通过该类里的Getter和Setter方法对其进行调用,确保数据安全性,方便对属性规约。 2.this关键字 作用1.

qq_45551151的博客 185

java面向对象学习day02

Java面向对象学习的第二天

m0_47599156的博客 494

java基础——面向对象02

本章讲解了Java中的实体类和static关键字。实体类是专门用于数据存取的类,需满足成员变量私有化并提供getter/setter方法,同时要有无参构造器。static关键字修饰的成员属于类级别,包括静态变量(类变量)和静态方法(类方法),它们在内存中只有一份,被所有对象共享。静态方法不能直接访问实例变量和this关键字,而实例方法可以访问静态成员。工具类通常使用静态方法来实现独立功能。通过学生成绩管理的案例,展示了如何用实体类存储数据,用操作类处理业务逻辑的分层设计思想。

元气少女硕硕子的博客 969

02_Java面向对象

类和对象的详解 一、 定义 对象:具有一组属性和方法的实体。万事万物皆对象。 类:具有相同属性和方法的对象的集合。抽象的概念。 关系:类是对象的抽象,对象是类的具体存在。 二、 类 1. 定义类 访问修饰符   class   类名{ //定义属性 //定义方法 }   public  class  Student{ Str

daniel_fei的博客 344

进阶Java面向对象02

JavaSE类和对象 类和对象 面向对象:是一种思想,一个类调用另一个类的变量和方法就叫面向对象 类:是一个抽象的概念,是对某一类事物的整体描述,动物,植物,人都是类,而对象是客观存在的,类是抽象的模板,比如张三,狗 使用面向对象的意义:提高代码阅读的清晰度,降低代码间的耦合性,功能越来越独立 面向对象的核心思想:将功能抽取成一个类,实现代码复用 面向过程和面向对象 面向对象:是以功能来划分问题的,面向对象中主要的是类和对象,将功能抽取封装到类中,可以解决重复调用的问题,实现代码的复用性和可扩展性

weixin_54236608的博客 314
上一篇: Java面向对象总结01
下一篇: struts2知识点总结doc文档
mwl1122
博客等级 码龄8年 6粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值