一、万事万物皆对象
理解:
- 在Java语言的范畴中,我们都将功能、结构等封装到类中,通过类的实体化,来调用具体的功能结构。
如:
- Scanner,String等
- 文件:File
- 网络:URL
- 涉及到Java语言与前端Html、后端的数据库交互时,前后端的结构Java层面交互时,都体现为类,对象。
二、内存解析的说明
引用类型的变量,只可能存储两类值:null 或 地址值(含变量的类型)
三、匿名对象的使用
- 理解:我们创建的对象,没有显式的赋给一个变量名。即匿名对象。
- 特征:匿名对象只能调用一次。
- 使用:
class Test{
public static void main(String[] args){
// 匿名对象的方式
System.out.println("请输入一个数字:");
int num = new Scanner(System.in).nextInt();
System.out.println("输入的数字为:" + num);
}
}
重载对象:
方法的重载(overload)
定义:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
- "两同一不同":同一个类、相同方法名.
- 参数列表不同:参数个数不同,参数类型不同。
举例:Arrays类中重载的sort()/binarySearch()。
判断一个方法是否是重载,跟方法的权限修饰符、返回值类型、形参变量名、方法体都没有关系!
在通过对象调用方法时,如何确定某一个指定方法:①方法名 ②参数列表
public class Sum{
// 整数加法
public int sum(int x,int y){
return x + y;
}
// 浮点数加法(重载方法)
public double sum(double x,double y){
return x + y;
}
}
可变个数形参
可变个数形参的方法为jdk 5.0新增的内容。
具体使用:
- 可变个数形参的格式:数据类型...变量名。
- 当调用可变个数形参的方法值,传入的参数个数可以是零个,一个,两个,或多个。
- 可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载。
- 可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不能构成重载(二者不能共存)。
- 可变个数形参在方法的形参中,必须声明在末尾。
- 可变个数形参在方法的形参中,最多只能声明一个可变形参。
public class MethodArgsTest {
public static void main(String[] args) {
MethodArgsTest test = new MethodArgsTest();
test.show(12);
test.show("hello");
test.show("Hello","World");
test.show();
/**test.show(new String[]{"AA","BB","CC"});*/
}
public void show(int i){
System.out.println("show(int)");
}
public void show(String s){
System.out.println("show(String)");
}
public void show(String...s){
System.out.println("show(String...strs)");
}
// 等价于此方法
public void show(String[] s){
}
}