IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> JAVA基础.面向对象(二) -> 正文阅读

[Java知识库]JAVA基础.面向对象(二)

目录

前言

一.理解万事万物皆为对象

二.方法的重载

三.可变个数形参的方法

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

总结


前言

自学java,共同努力。

一.理解万事万物皆为对象

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

??????? >Scanner,String

??????? >文件:File

??????? >网络资源:URL

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

??2、内存解析的说明

? 2.1.引用类型的变量,只可能存储两类值:null? ? 地址值(含变量的类型)

? 3.匿名对象的使用

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

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

? 3.3.使用:

public class exer {
  public static void main(String[] args) {
	  new object().hign = 160;
	  new object().showhign();
  }
}
class object{
	double hign = 99;
	public void showhign() {
	   System.out.println(hign);
	}

输出结果为99。

因为我们并没有记录堆内存对象的地址值,所以只能用一次,再次使用就找不到了,好处在于使用完毕就是垃圾,可以空闲回收,节省内存空间。

二.方法的重载

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

?? "两同一不同":同一个类、相同方法名

? ??参数列表不同:参数个数不同,参数类型不同

??2. 举例:

class a{
	public void show(int s,String c) {
	
	}
	//public void show(int a,String b) {}不构成重载
	public void show(int a,boolean b) {
		
	}
	public String show(String b) {
		return "0";
	}

??3.判断是否是重载:

???? 跟方法的权限修饰符、返回值类型、形参变量名、方法体都没有关系!

??4. 在通过对象调用方法时,如何确定某一个指定的方法:

?????? 方法名 ---> 参数列表

三.可变个数形参的方法

??1.jdk 5.0新增的内容

??2.具体使用:

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

??? 2.2 当调用可变个数形参的方法时,传入的参数个数可以是:0个,1,2个,。。。

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

??? 2.4 可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载。换句话说,二者不能共存。(因为本质算相同的)

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

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

public class exer {
public static void main(String[] args) {
	a b = new a();
	b.show("a");
}
}
class a{
	public void show(String ... a) {
		System.out.println(a);
	}
}

这时你会发现,输出的结果为一个地址值,而在前文提示过,引用数据类型的变量所储存的值要么是null,要么是地址值,这里就在暗示,可变个数形参内在来说是和作为引用数据类型的数组相似的。因此做出以下测试

public class exer {
public static void main(String[] args) {
	a b = new a();
	b.show("a","c","a");
}
}
class a{
	public void show(String ... a) {
		System.out.println(a);
		for(int i = 0;i < a.length;i++) {
			System.out.println(a[i]);
		}
	}
}
	

发现能够进行遍历操作,实际上来说,这样算是数组的一种,也可以换成方法数组的写法

class a{
	public void show(String ... a) {
		System.out.println(a);
		for(int i = 0;i < a.length;i++) {
			System.out.println(a[i]);
		}
	}
	
	
	public void show(String[] a) {
		System,out.println();
	}

不过两者不能共存。

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

??1.形参:方法定义时,声明的小括号内的参数

??? 实参:方法调用时,实际传递给形参的数据

??2.值传递机制:

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

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


总结

现象对象的第二章,总体来说偏难。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-08-12 16:28:00  更:2021-08-12 16:28:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年3日历 -2025/3/4 6:35:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码