目录
前言
一.理解万事万物皆为对象
二.方法的重载
三.可变个数形参的方法
四.方法的形参的传递机制:值传递
总结
前言
自学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.值传递机制:
??如果参数是基本数据类型,此时实参赋给形参的是实参真实存储的数据值。
??如果参数是引用数据类型,此时实参赋给形参的是实参存储数据的地址值。
总结
现象对象的第二章,总体来说偏难。
|