一、理解“万事万物皆对象”。

1.在java语言范畴中,我们都将功能、结构等封装到类中,通过类的实例化,来调用具体的功能结构。

2.涉及到java语言与前端html、后端的数据库交互时,前后端的结构在java层面交互时,都体现为类、对象。

二、匿名对象

1.理解:我们创建的对象,没有显式的赋给一个变量名。即是匿名对象。

2.特征:匿名对象只能调用一次。

3.使用场景:

    格式:new People . eat();通过People的匿名对象调用eat方法

    适合场景:当一个方法中形参是一个我们所创建的类的变量时,可以直接通过sleep.show(new People());快速导入该类的实例赋值给形参。

三、再谈方法:

1.方法的重载:

在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。

2.重载的特点:

与返回值无关,只看参数列表,且参数列表必须不同。(参数个数或者参数类型)调用时,根据方法的参数列表的不同来区别调用的是哪个方法。

3.可变个数形参的方法:

javase5.0中新增了Varargs机制,允许直接定义能和多个实参相匹配的形参。从而,可以用一种更简单的方式,来传递个数可变的实参。

*具体使用:

3.1可变个数形参的格式:数据类型...变量名

public void show(String ... strs){
}

3.2当调用可变个数形参的方法时,传入的参数个数可以是:0个、1个、2个...

3.3可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载。

3.4但是注意,可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载。其实二者功能相同,只不数组是5.0之前用来传可变参数的。代码如下:

public void show(String[] strs){
}

3.5可变个数形参在方法的形参中,必须声明在末尾

3.6可变个数形参在方法的形参中,最多只能声明一个可变形参。

4.方法参数的值传递机制:

关于变量的赋值:

  如果变量是基本数据类型,此时赋值的是变量所保存的数据值。

  如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值。

方法的形参的传递机制:值传递

1.值传递机制:

*如果参数是基本数据类型,此时实参赋给形参的是实参真实存储的数据值。

这个是什么意思呢?请看下图:

在main和swap方法中,m和n都是局部变量,前面提到过,凡是局部变量都是加载在栈中的,于是就变成上图所示情况,所以之后在main中打印m,n其实打印的是main中本来的m,n。

*如果参数是引用数据类型,此时实参赋给形参的是实参存储数据的地址值。

这个又是什么意思呢?请看下图:

5.递归方法:

5.1方法递归包含了一种隐式的循环,它会重复执行某段代码,但是这种重复执行无须循环控制。

5.2递归一定要向已知方向递归,否则这种递归就变成了无穷递归,类似于死循环。

末尾一道有意思的题目:

int[] arr = new int[]{1,2,3,4};
System.out.println(arr);//地址值 char[] arr1 = new char[]{'a','b','c'};
System.out.println(arr1);

打印后会发现,第一个打印的是一个地址值,第二个打印的却是a,b,c。

这是为什么呢?

原来在println方法中,第一个调用的是println(Objiect)方法,而println有一个专门的println(char【】)方法,第二个调用的是这个,所以打印的结果不同。

java面向对象概念2的更多相关文章

  1. java面向对象概念1

    一.java面向对象学习的三条主线: 1.java类及类的成员:属性.方法.构造器:代码块.内部类 2.面向对象的三大特征:封装性.继承性.多态性.(抽象性) 3.其它关键字:this.super.s ...

  2. java————面向对象概念

    面向对象 OO:面向对象 OOP:面向对象编程 OOA:面向对象分析 OOD:面向对象设计 面向对象的特征 继承,封装,多态 什么是对象? 对象是存在的具体实体,具有明确定义的特征和行为. 万物皆对象 ...

  3. Java 面向对象概念

    Interface 接口 An interface defines a protocol of communication between two objects. An interface decl ...

  4. Java面向对象-面向对象编程之基本概念

    面向对象这个概念,每本书上的说法定义很多. 我自己根据我的经验,自己归档总结了下, 所谓面向对象,就是 以基于对象的思维去分析和解决问题,万物皆对象: 面向对象经常和面向过程放一起讨论: 这里举例, ...

  5. java面向对象1-面向对象概念

    面向对象概念-类与对象的关系 封装:指隐藏对象的属性和实现细节,仅对外提供公共访问方式,private-构造方法/构造器-this关键字-static关键字(javadoc制作工具类) -代码块 继承 ...

  6. 087 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 01 封装的概念和特点

    087 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 01 封装的概念和特点 本文知识点:封装的概念和特点 说明:因为时间紧张,本人写博客过程中只是对 ...

  7. 谈谈Java面向对象的三大特性

    Java面向对象的三大特性就是指封装.继承.多态了. 一.封装: 概念:封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式. (举例:笔记本电脑就是一个封装体,Java语言中最小的封装体就是函数 ...

  8. java基础1.0::Java面向对象、面向对象封装、抽象类、接口、static、final

    一.前言 一直以来都是拿来主义,向大神学习,从网上找资料,现在就把自己在工作中和学习中的所理解的知识点写出来,好记星不如烂笔头,一来可以作为笔记自己温习,二来也可以给走在求学之路的同学们一点参考意见, ...

  9. JAVA课程实验报告 实验二 Java面向对象程序设计

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计  班级:1353  姓名:韩玉琪  学号:20135317 成绩:             指导教师:娄嘉 ...

随机推荐

  1. 【小前端】float属性

    要求 需要float的元素,必须指定一个width宽度 没了 然后就可以指定 float:right 什么的了

  2. SQL Pretty Printer不错的sql格式化工具

    之前使用过sql server 2000的查询设计器和Toad for oracle 都有格式化Sql语句的功能,感觉很方便,尤其对于我这种有着轻微强迫症的人来说.当最近把SQL Server Man ...

  3. 白盒测试实践-任务进度-Day04

    所使用静态代码检查工具 阿里巴巴Java开发代码检测IDE插件 小组成员 华同学.郭同学.覃同学.刘同学.穆同学.沈同学 任务进度 对大家完成各自任务情况进行询问后,以下是对小组成员完成任务进度的情况 ...

  4. 下拉菜单--JavaScript触发方法

    1. $(function(){ $(".dropdown-toggle").one("click",function(){ $(this).dropdown( ...

  5. Linux Basic学习笔记01

    介绍课程: 中级: 初级:系统基础 中级:系统管理.服务安全及服务管理.Shell脚本: 高级: MySQL数据库: cache & storage 集群: Cluster lb: 4laye ...

  6. Qt的翻译文件QTranslator不能使用问题总结(原)

    笔者今天在自己工程中使用翻译文件,发现没有起作用,反复查找,发现是用宏定义了命名空间,生成.ts文件时,不会加上命名空间,所以生成的.qm文件在实际使用时,会无法找到对应的语句. 如果将宏定义的命名空 ...

  7. 【转载】实战mysql分区(PARTITION)

    转载地址:http://lobert.iteye.com/blog/1955841 前些天拿到一个表,将近有4000w数据,没有任何索引,主键.(建这表的绝对是个人才) 这是一个日志表,记录了游戏中物 ...

  8. COLLATE 函数

    指定SQL server的排序规则Chinese_PRC指的是中国大陆地区,如果是台湾地区则为Chinese_TaiwanCI指定不区分大小写,如果要在查询时区分输入的大小写则改为CSAS指定区分重音 ...

  9. sql 的REPLACE

    REPLACE 用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式. 语法 REPLACE ( 'string_expression1' , 'string_expression2 ...

  10. spring boot 整合 HttpClient

    第一步:引入HttpClient 的jar包 1.httpClient 5.0 开始支持异步(Async)请求: 2.httpclient 版本过低上传文件会出,原因是 org.apache.http ...