Java入门(十三)——import与参数传递
目录
import
- eclipse导入类的快捷键:ctrl+shift+c
- Import语句用来完成导入其他类,同一个包不需要导入,不在同一个包下需要手动导入
* 语法格式:
- import 类名;
- import 包名.*;
- 注意:import语句需要编写到package语句之下,class语句之上
- 不需要的情况:不是java.lang包下,并且不在同一个包下
范例代码
import priv.pdd.notes01.控制语句.*;
//这个是指的是控制语句那篇的范例代码,想要运行这段代码,需要将控制语句一起导入
import java.util.Scanner;
public class Import {
public static void main(String[] args) {
//ControlStatement.main(args);
java.util.Scanner s=new java.util.Scanner(System.in);
//因为IDE与Scanner不在同一个包下,所以调用java.util包下的Scanner,定义一个关于System.in的有参数构造方法
String str=s.next();
//将Scanner中的next方法赋值给str,进行输入
//也可以将java.util.Scanner提前导入,导入后的书写为:
Scanner ss=new Scanner(System.in);
String str1=ss.next();
}
}
参数传递
* 两种情况:
- 主方法创建变量,参数传递本质是变量中保存的具体值
- 主方法创建对象,参数传递实际是java对象的保存地址
范例代码
class User{
int age;
public User(int i) {
age=i;
}
}
public class ParameterTransfer {
public static void main(String[] agrs) {
int i=10;//单纯是一个变量,不存在地址指向
add(i);//11
System.out.println("main-->i="+i);//10
//因为主方法的i,与add方法中的i,为两个本质不一样的变量,主方法的i没有接收到add方法的返回,所以值没有受到影响
User user=new User(20);//创建一个对象指向User的类,存在地址
add(user);//21
System.out.println("main-->user.age="+user.age);//21
//因为指向的是同一地址,所以调用使是从同一地址调用,输出的值是一致的
}
public static void add(int i) {//接收来自主方法i的值
i++;
System.out.println("add-->i="+i);
}
public static void add(User u) {//接收来至主方法的user传递的位置,继续指向User的类
u.age++;
System.out.println("add-->user.age"+u.age);
}
}