Java语言学习总结 高级篇 面向对象和面向过程

CST仿真实例001:圆极化平板天线仿真 CST仿真实例001:圆极化平板天线仿真实例 阅读详情

Java语言的本质 面向对象

面向对象和面向过程的区别及优缺点

面向过程的特点在于是由一个个因果关系组成。
面向对象的特点在于是由一个个 对象的类和方法组成。

-面向过程:主要关注点是:实现的具体过程,因果关系[集成显卡的开发思路]
优点:对于业务逻辑比较简单的程序,可以达到快速开发,前期投入成本较低.
缺点:采用面向过程的方式开发很难解决非常复杂的业务逻辑,另外面向过程的
方式导致软件元素之间的“耦合度"非常高,**只要其中一环出问题,整个系统受到影响,
导致最终的软件"扩展力"差。**另外,由于没有独立体的概念,所以无法达到组件复用.
-面向对象:主要关注点是:主要关注对象[独立体]能完成哪些功能。 [独立显卡的开发思路]
优点:耦合度低,扩展力强。更容易解决现实世界当中更复杂的业务逻辑。组件复用性强。
缺点:前期投入成本较高,需要进行独立体的抽取,大量的系统分析与设计.
c语言是纯面向过程的、C++半面向对象、Java纯面 向对象
-现在出现的一些新的编程语言多数都是面向对象的。人在认识现实世界的时候以而o向对象的方式。
-面向对象更符合人的思维方式.

类和对象的概念

什么是类?
-类在现实世界当中是不存在的,是一个模板,是一个概念。是人类大脑思考抽象的结果。
一类代表了一一类事物。
-在现实世界当中,对象A与对象B之间具有共同特征,进行抽象总结出一个模板,这个模板被称为类。

类由属性和方法组成!

什么是对象?
一对象是实际存在的个体。现实世界当中实际存在。
描述一下整个软件开发的过程:
★程序员先观察现实世界,从现实世界当中寻找对象
★:寻找了N多个对象之后,发现所有的对象都有共同特征
★程序员在大脑中形成了一一个模板[类]
★Java程序员可以通过java代码来表述一-个类
Java程序中有了类的定义
然后通过类就可以创建对象
★有了对象之后,可以让对象直接协作起来形成一个系统。

★重点:
类描述的是对象的共同特征。
共同特征例如:身高特征
这个身高特征在访问的时候,必须先创建对象,通过对象去访问这个特征。
因为这个特征具体的某个对象上之后,值不同。有的对象身高1.80,有的
对象身高2.80。
★一个类主要描述什么信息呢?
一个类主要描述的是状态+动作。
状态信息:名字、身高、性别、年龄
动作信息:吃、唱歌、跳舞、学习
状态–>一个类的属性
动作–> -一个类的方法|

类的定义

语法结构

[修饰符列表] class 类名{
}

一个类可以实例化N个对象
实例化对象的语法: new类名() ;
以String类型为例(String是引用类型)

String s= new String();

new是java语言当中的一一个运算符
new运算符的作用是创建对象,在JVM 堆内存当中开辟新的内存空间
方法区内存: 在类加载的时候,class字节码代码片段被加载到该内存空间当中。
栈内存(局部变量):方法代码片段执行的时候,会给该方法分配内存空间,在栈内存中压栈。
堆内存:new的对象在堆内存中存储
什么是对象? new运算符在堆内存中开辟的内存空间称为对象。对象是class类的实例化
什么是引用? 引用是一个变量,只不过这个变量中保存了另一个java对象的内存地址。

学生类的定义

中文理解:
学生类,描述所有学生对象的共同特征:
学生对象有哪些状态信息:
★学号[int]
★名字[ string]
★性别[ boolean ]
★年龄[int][年龄是一一个属性,年龄是-一个数据,是数据就应该有数据类型]
★住址[ string]
学生对象有哪些动作信息:
★吃饭
★睡觉
★学习
★玩
★唱歌
★跳舞
重点:属性通常是采用一个变量的形式来完成定义的。

用eclipse新建一个class文件,命名为student,输入以下代码:

public class student {
	int stunum; //学号
	String stuname; //
	boolean stusex;
	int age;
	String stress;
	public void speak() {
		System.out.println("I am speaking!");
	}
	public void sleep() {
		System.out.println("I am sleeping!");
	}
	public void study() {
		System.out.println("I am studying!");
	}
	public void play() {
		System.out.println("I am playing!");
	}
	public void dance() {
		System.out.println("I am dancing!");
	}
	public void printstu() {
		System.out.println("学生的名字是:"+stuname);
		System.out.println("学号是:"+stunum);
		System.out.println("性别是:"+stusex);
		System.out.println("年龄是:"+age);
		System.out.println("地址是:"+stress);
		
	}
	public static void main(String[] args) {
	}

再新建一个class,命名为student1,引用之前创建的student。代码如下:

public class student2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		student s= new student();
		s.age=16;
		s.stress="上海";
		s.stuname="Leo";
		s.stunum=10235;
		s.stusex=true;
		s.dance();
		s.speak();
		s.sleep();
		s.study();
		s.play();
		s.printstu();
	}

}

输出结果如图:
输出结果

LeetCode 面试经典 150 题回顾 最经典 150 题,掌握面试所有知识点 面试经典 150 题 : 题目分析、解题思路、复杂度分析、代码展示 阅读详情

相关推荐

【AUTOSAR-COM】Transmission Mode 和 Transfer Property

1.COM模块的基本概念 首先在描述Transmission Mode 和 Transfer Property之前,有必要对COM模块的基本处理有一个直观的理解,我所描述的和对概念理解的也不一定完全正确。 Signal:指的是通信协议中的,一条报文中所保存的若干信号。 I-PDU:至少在COM模块中,可以理解为一条报文。 上图是在CANdb软件中编辑一个报文的Layout的界面,可以很形象的将I-PDU对等为这里的一条Message,而Signal就是需要在Message中需要摆放的Signal

tim_hoven的博客 4635

面向过程语言与面向对象语言的区别及优缺点

一. 面向过程语言 1. 背景: 面向过程的语言也称为结构化程序设计语言,是 “高级语言” 的一种。 随着计算机硬件功能的提高(硬件功能提高为计算机拓展功能打下基础),过程设计语言出现于20世纪60年代出现, 2.理解 面向过程语言以函数作为基本组成结构,在面向过程程序设计中,问题被看作一系列需要完成的任务,函数则用于完成这些任务,解决问题的焦点集中于函数。 其概念最早由E.W.Dijikstra在1965年提出,是软件发展的一个重要里程碑。例如C语言,FORTRAN语言。用这些语言编程也称为面向过程编程.

suewo的博客 7406

Mujoco xml actuator

在MuJoCo中,actuator(执行器) 是用于定义外部力或力矩的机制,这些力或力矩可以作用于关节、肌腱或身体。执行器可以模拟各种类型的驱动器,如电机、液压缸、肌肉等。它们通过定义传输(transmission)和力生成机制(force generation)来实现对模型的控制。

m0_52113469的博客 2909

面向对象和面向过程

面向过程和面向对象的区别 面向过程(Process Oriented)这个词是在面向对象(Object Oriented)出现之后为与之相对而提出的。其实它在以前基本被叫做“结构化编程”。 其实就是两句话,面向对象就是高度实物抽象化、面向过程就是自顶向下的编程! 1. 面向过程 面向过程是一种以事件为中心的编程思想,编程的时候把解决问题的步骤分析出来,然后用函数把这些步骤实现,在一步一步的具体步骤中再按顺序调用函数。 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的

qq_52037595的博客 6573

别再只插线了!用示波器‘偷看’USB-C PD协议握手全过程(附BMC/4B5B编码解析)

本文详细介绍了如何使用示波器捕获并解码USB-C PD协议的握手过程,包括BMC/4B5B编码的解析技巧。从硬件配置到波形分析,再到协议注入,为工程师提供了一套完整的实战解码手册,帮助深入理解PD协议的工作原理。

weixin_42526417的博客 404

Android客户端如何设计架构

当我们在新开发一款APP时,我们在初期要如何设计架构呢?在这里我根据我的经验,总结了一些基本的架构思路。 客户端架构设计的时候,首先需要充分考虑到所开发的app的类型,这里我分为功能型和服务型两大类,功能型的app侧重业务和功能,服务型的app侧重服务和运算。下面我就具体来讲讲针对这两种类型的通用架构。 功能型app 功能型app的activity比较多,整个app都以一个个activity承载业务和功能,在设计这类app时,我们需要考虑哪些要素呢? 由于activity比较多,我们需要考虑页面的跳转路由,

子者不语的专栏 1544

计算机语言

本章主讲:计算机语言;面向对象和面向过程的语言区别;编译型和解释型的语言区别;动态类型和静态类型的语言区别;强类型和弱类型的语言区别。

weixin_55192559的博客 492

拆解汽车T-Box:从4G模块到MCU,手把手教你理解车联网的‘黑匣子’

本文深入拆解汽车T-Box,揭示其作为车联网‘黑匣子’的核心架构与工作原理。从4G模块、MCU主控到外设接口,详细解析各组件功能及协同机制,并通过实战案例展示故障诊断与性能优化技巧,帮助读者全面理解T-Box在智能汽车中的关键作用。

weixin_30955617的博客 497

06-面向对象和面向过程的区别

什么是面向过程编程与面向过程编程语言? 面向过程编程也是一种编程范式或编程风格。它以过程(可以理解为方法、函数、操作)作为组织代码的基本单元,以数据(可以理解为成员变量、属性)与方法相分离为最主要的特点。面向过程风格是一种流程化的编程风格,通过拼接一组顺序执行的方法来操作数据完成一项功能。 面向过程编程语言首先是一种编程语言。它最大的特点是不支持类和对象两个语法概念,不支持丰富的面向对象编程特性(比如继承、多态、封装),仅支持面向过程编程。 ...

司马世豪的博客 662

Foxmail 7.2.25以下版本XSS漏洞实战复现:手把手教你如何构造恶意邮件(含防御方案)

本文深入解析Foxmail 7.2.25以下版本的XSS漏洞(CNVD-2025-06036),详细展示如何构造恶意邮件进行跨站脚本攻击,并提供从客户端升级到企业级防护的多层次防御方案,帮助用户有效防范安全风险。

view3的博客 163

【四足机器人项目实战】四足机器人支撑腿反作用力规划之VMC解耦控制方法

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、基于模型的工作空间控制框图二、原理三、缺点 前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对未简化的动力学模型规划反作用力+运动学模型雅可比+虚功原理规划关节扭矩方法做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章 提示:以下是本篇文章正文内容 一、基于模型的工作空间控制框图 . . 二、原理 基于机器人的动力学模

qq_35635374的博客 6598

一文带你搞懂什么是“面向过程”与“面向对象”

一文详细解释了什么是“面向过程”与“面向对象”,分别的代表性语言、区别。

weixin_62261692的博客 7791

仿真学习系列(四十七):Sigrity仿真之直流压降与电流密度

在现代电子设计中,电源网络的设计和分析对于保证电路的稳定性至关重要。直流压降(IR-Drop)和电流密度是评估电源网络性能的关键参数,尤其是在高频和高速电路中。它们直接影响到设备的工作稳定性与效率。通过Sigrity的仿真工具,可以深入分析和优化这些电源特性,从而确保系统的可靠性。 本节将介绍直流压降和电流密度的基本概念,以及如何在Sigrity中使用PowerDC模块进行相关仿真。

案例文章,高速信号 514

Java语言学习教程:从基础到高级

Java是一种面向对象的编程语言,由 Sun Microsystems(现为 Oracle)于 1995 年首次发布。Java 的设计理念是“一次编写,到处运行”,这意味着 Java 程序可以在任何支持 Java 的平台上运行,而无需重新编译。恭喜你完成了这篇Java语言学习教程!通过本教程,你应该对Java的基本语法、面向对象编程、异常处理、集合框架、输入输出以及多线程有了全面的了解。

网络狼 1838

visio安装包

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

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Java语言学习day 06 - 面向对象01

Java入门day 06 - 面向对象1.面向对象概述1.1 软件开发方式1.2 成员变量和局部变量1.2.1 变量的分类1.2.2 变量的初始值1.2.3 变量的作用域1.2.4 变量的生命周期1.3类和对象的关系1.4类的定义1.5对象的操作1.5.1对象的基本操作1.5.2对象的内存分析图1.6构造器1.6.1默认构造器1.6.2通过构造器设置初始值2.封装思想2.1访问修饰符2.2 封装使用2.2.1 JavaBean规范3. 总结3.1 面向过程和面向对象的区别?3.2 什么是抽象?3.3 成员变

qq_39551794的博客 330

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【Java】Java语言学习指南:从入门到精通

Java是一门功能强大且应用广泛的编程语言。通过本文的学习,你应该已经掌握了Java的基础语法、面向对象编程的核心概念以及一些高级特性。要成为一名优秀的Java开发者,还需要不断实践和深入学习,掌握更多的框架和工具。希望本文能为你的Java学习之旅提供帮助,祝你编程愉快!

2503_90937411的博客 1086

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【JAVA语言学习】Java面向对象Ⅰ

面向对象 简介: ​ 面向过程 : procedure oriented programming 缩写 POP ​ 分析出解决问题所需要的步骤,然后把步骤一步一步实现. ​ 面向对象 : object oriented programming 缩写 OOP面向对象的编程语言 ​ 以分类方式进行思考,用面向对象思维,用某个工具复杂的问题.面向对象的思想符合一般的认知习惯 ​ 比如: 你现在要做一道菜(西红柿炒鸡蛋),对于面向过程来说,就是1.先切菜,打鸡蛋 2.搅拌鸡蛋 3.烧油 4.倒鸡蛋液

qq_44126342的博客 265

【三万粉丝终极福利】Python、C、Java三大语言学习路线和资源整理

大家好,我是辣条。 今天给大家带来三万粉丝三大语言学习路线和资源整理,收藏就对了。 目录 C语言 学习路线 学习书籍 学习视频 资源推荐 Java语言 学习路线 学习书籍 学习视频 资源推荐 Python语言 学习路线 学习书籍 学习视频 资源推荐 C语言 学习路线 学习书籍 学习视频 资源推荐 Java语言 学习路线 学习书籍 学习视频 资源推荐 Python语言 学习路线 学习书籍 学习视频 资源推荐

五包辣条的博客 2万+

类和面向对象

​ 面向对象(Object Oriented Program,简称OOP)是一种思想,是基于面向过程而言的,就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节;这种思想是将数据作为第一位,而方法或者说是算法作为其次,这是对数据一种优化,操作起来更加的方便,简化了过程。Java是一门纯面向对象的语言。用面向对象的思想来涉及程序,更符合人们对事物的认知,对大型程序的设计、扩展以及维护都非常友好。简单来说类就是对一个对象的描述,主要包括对象的属性和对象的。

WangSir 2086

Java 语言学习总结

趁着年三十的最后一段时间,发最后一篇文章吧!首先祝优快云博主们新春快乐,过个快乐吉祥的新年,来年心想事成,美梦成真!好话先摆前面,呵呵~~~                                                                                                        Java 语言 学习总结

瀞心:软件人生 2336

初入大学之JAVA语言学习路线:从入门到精通,从零基础到高级开发,全面掌握 Java 编程

Java 是一门强大且灵活的编程语言,适合各种类型的开发项目。通过遵循本文提供的学习路线,你将能够逐步掌握 Java 的核心概念和高级特性,并最终成为一名熟练的 Java 开发者。

不会编程的码农研究僧 1733

Java语言学习笔记-【07面向对象、类与对象、成员方法、作用域、this等详解(上)】

一个程序就是一个世界,有很多事物( 对象[属性 , 行为] )//Method//方法使用//1、方法写好后, 如果不去调用, 不会输出//2、先创建对象, 然后调用方法即可p1.speak();//调用方法//定义一个猫类//四个属性int age;//方法(成员方法)//添加speak ,成员方法, 输出 “ 我是一个好人”//1、public 表示方法是公开的//2、void : 表示方法是没有返回值//3、speak(): speak是方法名, ()星灿烈表。

qq_67947670的博客 1226

20155226田皓宇关于优秀技能经验以及c语言学习感悟和对JAVA的展望

读老师文章后关于一项优秀技能的经验有感 1.首先我自我剖析认为,我是没有哪一个方面能做到强于身边90%的人的,我只能说有些方面略强于身边的人。比如唱歌、办公软件的应用(word、excel)等。但我不敢说强于90%的人,其他方面比如学习,生活都是中规中矩不算突出。 2.关于我突出技能的经验,我想是有两点:热爱与勤练,只有你喜欢一个东西并且锲而不舍地练习它,你才会提高才会进步。慢慢地就会显得突出成为...

weixin_30436101的博客 200

【三万粉丝终极福利】Python、C、Java三大语言学习路线和资源整理_博客三万粉丝(1)

大家好,我是辣条。

2401_84689238的博客 2182

视频教程-Java从小白到大牛第2篇 【面向对象】-Java

Java从小白到大牛第2篇 【面向对象】 一个在IT领域摸爬滚打20多年的老...

weixin_30114121的博客 280

【Go语言学习系列23】Go中的面向对象编程

深入解析Go语言的面向对象编程模式,掌握组合优于继承、接口实现与方法集等核心概念

GopherTribe的博客 1025
上一篇: 机器学习 学习总结第三章 多变量的线性回归方程
下一篇: Java语言学习总结 高级篇 类和对象创建内存分析
Ace_bb
博客等级 码龄8年 386粉丝 249原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值