其他分享
首页 > 其他分享> > 119/120匿名对象的说明和对像作为方法的参数和返回值

119/120匿名对象的说明和对像作为方法的参数和返回值

作者:互联网

匿名对象 概念 创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。虽然是创建对象的简化写法,但是应用 场景非常有限。 匿名对象 :没有变量名的对象。 格式: day04类
package demox.demopro;
public class day04 {
    String name;
    public void showName(){
        System.out.println("我叫"+name);
    }
}

day04pro

package demox.demopro;

/*
创建对象的标准格式:
类名称对象名= neww类名称();
匿名对象就是只有右边的对象,没有左边的名字和赋值运算符。new类名称(;

注意事项:匿名对象   只能使用唯一的一次,下次再用不得不在创建一个新对象,
使用建议:如果确定有一个对象只需要使用唯一的一次,就可以用匿名对象
 */

public class day04pro {
    public static void main(String[] args) {
        day04 one = new day04();
        one.name ="高圆圆";
        one.showName();
        System.out.println("********************");


        new day04().name = "赵又廷";
        new day04().showName();
    }
}

 

new 类名(参数列表);
举例:
new Scanner(System.in);
应用场景 1. 创建匿名对象直接调用方法,没有变量名。
new Scanner(System.in).nextInt();
2. 一旦调用两次方法,就是创建了两个对象,造成浪费,请看如下代码。
new Scanner(System.in).nextInt(); 
new Scanner(System.in).nextInt();
小贴士:一个匿名对象,只能使用一次。 3. 匿名对象可以作为方法的参数和返回值 作为参数:
class Test {
 public static void main(String[] args) {
 // 普通方式 
Scanner sc = new Scanner(System.in); 
input(sc); 
//匿名对象作为方法接收的参数 
input(new Scanner(System.in));
 }
public static void input(Scanner sc){
 System.out.println(sc); 
        }
 }
作为返回值
class Test2 {
 public static void main(String[] args) {
 // 普通方式
 Scanner sc = getScanner(); 
}
public static Scanner getScanner(){ 
//普通方式 /
/Scanner sc = new Scanner(System.in);//
return sc;
 //匿名对象作为方法返回值 
return new Scanner(System.in);
         }
 }    
package demox.demopro;

import java.util.Scanner;

public class day05 {
    public static void main(String[] args) {
//            //普通使用方式
//        Scanner scanner = new Scanner(System.in);
//        int nextInt = scanner.nextInt();
//            //匿名对象方式
//        int num = new Scanner(System.in).nextInt();
//        System.out.println("输入的是:"+num);
//        使用一般写法
//        Scanner scanner = new Scanner(System.in);
//        methodParam(sc);
//            methodParam(new Scanner(System.in));
        Scanner  sc = methodReturn();
        int nextInt = sc.nextInt();
        System.out.println("输入的是"+nextInt);
    }
    public static void methodParam(Scanner sc){
        int nextInt = sc.nextInt();
        System.out.println("输入的是"+nextInt);
    }
    public static Scanner methodReturn(){
//        Scanner scanner = new Scanner(System.in);
//        return scanner;
        return new Scanner(System.in);
    }
}

标签:Scanner,System,120,nextInt,new,sc,返回值,119,public
来源: https://www.cnblogs.com/agzq/p/16442615.html