本篇文章解决问题
1. 匿名对象
2. 方法的重载
1. 匿名对象
1.1定义
我们创建的对象,没有显示的赋给一个变量名,即为匿名对象。
1.2特点
匿名对象只能调用一次。
1.3举例
// 调用方法
new phone().sendEmail();
new phone().playGame();
// 调用属性
new phone().price = 1999;
1.4应用场景
PhoneMall mall = new PhoneMall();
mall.show(new Phone());
// 该的show()方法中需要递一个Phone类型的变量
class PhoneMall{
public void show(Phone phone){
phone.sendEmail();
phone.playGame();
}
}
2.方法的重载
2.1定义
在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
“两同一不同”:同一个类,相同方法名;参数个数不同,参数类型不同。
2.2举例
// 以下四个例子构成重载
public void getSum(int i,int j){
System.out.println("1");
}
public void getSum(double i,double j){
System.out.println("2");
}
public void getSum(String s,int j){
System.out.println("3");
}
public void getSum(int i,String s){
System.out.println("4");
}
// 以下三个例子与上面的例子不构成重载
public int getSum(int i,int j){
return 0;
}
public void getSum(int m,int n){
}
private void getSum(int i,int j){
}
2.3判断是否构成重载
- 严格按照定义判断,“两同一不同”
- 与方法的权限修饰符、返回值类型、形参变量名、方法体都没有关系。