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,用来在控制台输出每 本图书的名称和 阅读详情

相关推荐

lvds接口_LVDS,接口,时序讲解,非常好的文章

欢迎FPGA工程师加入官方微信技术群点击蓝字关注我们FPGA之家-中国最好最大的FPGA纯工程师社群1.1.1 LVDS接口分类1.1.1.1 单路6bit LVDS这种接口电路中,采用单路方式传输,每个基色信号采用6位数据,共18位RGB数据,因此,也称18位或18bit LVDS接口。此,也称18位或18bit LVDS接口。1.1.1.2 双路6bit LVDS这种接口电...

weixin_39639286的博客 1904

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

ZYNQ裸机LWIP双网口实现

文章目录前言一、LWIP双网口二、使用步骤1.部分说明2.部分代码总结 前言 一、LWIP双网口 由于项目需要多通讯口,查阅资料发现lwip支持多网口操作。于是,就开搞了。 二、使用步骤 1.部分说明 利用xemac_add函数在网卡链表中添加一个网卡,即使用netif块重复xemac_add操作。 先用轮询的方式实现双网口,后期修改为中断模式 2.部分代码 导入官方例程LWip echo server, 修改main函数,增加一个netif块 #if LWIP_IPV6==0 #if L..

weixin_35865280的博客 1万+

javase 02 java面向对象

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

皮皮亮的博客 506

Mac用户必看:Parallels Desktop 18.1.1最新破解版安装与优化全攻略(附资源)

本文为Mac用户提供Parallels Desktop 18.1.1的详细安装与优化指南,涵盖虚拟化技术选型、专业级配置流程及性能调优技巧。重点解析Parallels Desktop在图形加速、系统资源调度方面的核心优势,并分享生产力增强技巧与典型应用场景实战方案,帮助用户最大化利用这一高效虚拟化工具。

weixin_29240343的博客 824

论文、报告中那些乱七八糟的图(甘特图、卡吉图,桑基图,小提琴图,弦图,螺旋图,风玫瑰图)

在一些论文或报告中,总是会看到一些熟悉的图,但作者总是不能好好说话,非得搞个洋名字、缩写字或者半洋半中的词来显示它多么高大上,有时候这种故弄玄虚、华而不实的写法也实在是让人看了不伦不类,图首先是让读者更容易看懂的,不是让你来故作高深、玩玄学的。

David_jiang 9429

Java面向对象02

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

qq_41439534的博客 297

GEE:耦合5个因子的kRSEI遥感生态指数(K Remote Sensing Ecological Index, KRSEI)计算

本文将介绍在 Google Earth Engine (GEE)平台上,如何耦合5个因子,进行 kRSEI 的计算。具体来说,分别计算了 `NDVI, WET, NDBSI,LST,NDRI` 5个因子,并使用 PCA 主成分分析方法计算了权重,最后,计算了 kRSEI 指数。

养乐多的博客 1417

02 Java面向对象

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

Aal Izz Well 796

基于单片机的智能温控风扇设计

该智能温控风扇系统的设计目标是根据环境温度自动控制风扇的转速或开关状态,确保用户始终处于舒适的温度范围内。实时温度监测:通过温度传感器(如DS18B20或DHT22)实时监控环境温度。风扇控制:根据温度变化自动调节风扇的转速,温度过高时风扇加速,温度适中时风扇转速降低,达到节能与舒适平衡。LCD显示:通过LCD屏幕实时显示温度信息。无线通信:通过Wi-Fi或蓝牙模块将温度数据发送至手机或云平台,支持远程控制风扇的开关或调节转速。报警功能:温度过高或过低时,蜂鸣器发出警报,提示用户注意。

2201_76125393的博客 1162

SAP ABAP OData 的四种开发方式

摘要:SAP开发中CDS视图转OData服务的四种方案演进:1)7.40+版本需手动映射数据源;2)7.50+可直接引用CDS视图自动生成服务;3)7.50+通过@OData.publish注解声明式发布;4)7.54+采用服务定义与绑定实现协议解耦。新版本推荐使用最新方案,旧系统可选传统方式,整体呈现开发简化、架构解耦的技术演进趋势。(150字)

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

【JAVA02】面向对象

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

weixin_51947647的博客 126

图形推理2-四大类六提示

图形推理笔记2

小y的学习笔记 6746

Java基础02 面向对象

Java基础02 面向对象

DLNovice的博客 2487

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

java面向对象类的设计02

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

VioletEvgarden的博客 183

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Java实验02 面向对象(上)

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

将~军的博客 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

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、付费专栏及课程。

余额充值