java 不用new变量_java里对象声明new和不new的区别?,没new的类变量能不能调用该类的属性和方法?...
时间: 2024-01-13 21:05:29 浏览: 82
在 Java 中,对象的创建需要使用 `new` 关键字,如:
```java
MyClass myObj = new MyClass();
```
这行代码会创建一个名为 `myObj` 的 `MyClass` 类型的对象,并分配内存空间。如果没有使用 `new` 关键字,那么就只是声明了一个变量,但没有创建对象。例如:
```java
MyClass myObj;
```
这行代码只是声明了一个名为 `myObj` 的 `MyClass` 类型的变量,但并没有创建对象。此时如果直接访问 `myObj` 的属性或方法,会导致编译错误。
因此,在 Java 中,如果希望调用类的属性和方法,必须先创建对象。如果没有创建对象,那么就不能调用该类的属性和方法。
相关问题
用java编写,要求如下:(1)设计一个用户类User,所含成员变量有:用户名name,口令psw(私有的)和记录用户数的变量number(该变量为类成员变量,初始为0,每增加一个用户该数值增1)。有构造方法,设置和获取口令的方法,返回用户信息的方法(重写toString方法,返回信息包括用户名和口令)。 (2)定义Test3_2类的 main方法中,初始化对象数组如下 User data[]=new User[]{new User("张三","123"),new User("李四","abc"),new User("王五","456")}; 输出number值,调用toString方法输出每个用户信息
好的,您的问题已经记录下来了。下面是用java编写的答案,希望能帮到您:
User类的实现:
```java
public class User {
private String name; // 用户名
private String psw; // 口令
private static int number = 0; // 记录用户数的变量
public User(String name, String psw) {
this.name = name;
this.psw = psw;
number++;
}
// 设置口令
public void setPsw(String psw) {
this.psw = psw;
}
// 获取口令
public String getPsw() {
return this.psw;
}
// 返回用户信息
public String toString() {
return "用户名:" + name + ",口令:" + psw;
}
// 返回用户数
public static int getNumber() {
return number;
}
}
```
Test3_2类的实现:
```java
public class Test3_2 {
public static void main(String[] args) {
// 初始化对象数组
User data[] = new User[] { new User("张三", "123"), new User("李四", "abc"), new User("王五", "456") };
// 输出number值
System.out.println("用户数为:" + User.getNumber());
// 调用toString方法输出每个用户信息
for (User user : data) {
System.out.println(user.toString());
}
}
}
```
执行上述代码后输出:
```
用户数为:3
用户名:张三,口令:123
用户名:李四,口令:abc
用户名:王五,口令:456
```
java代码,创建一个类,该类声明两个double类型的成员变量,定义两个方法,两个方法分别执行下列操作: 1、传递两个double数值,分别赋值给两个成员变量。 2、找出两个成员变量中的大者,并显示输出。 编写主类,声明上述类的对象,使用该对象调用上述两个方法。
下面是实现上述要求的Java代码:
```java
public class DoubleDemo {
private double num1, num2;
public void setNums(double n1, double n2) {
num1 = n1;
num2 = n2;
}
public void findMax() {
double max = num1 > num2 ? num1 : num2;
System.out.println("The maximum number is " + max);
}
}
public class Main {
public static void main(String[] args) {
DoubleDemo demo = new DoubleDemo();
demo.setNums(3.14, 2.5);
demo.findMax();
}
}
```
在上述代码中,我们首先定义了一个名为 `DoubleDemo` 的类,该类有两个私有成员变量 `num1` 和 `num2`,分别用于存储传递进来的两个 `double` 类型的数值。该类还定义了两个方法:`setNums` 方法可以将传递进来的两个数值分别赋值给成员变量 `num1` 和 `num2`;`findMax` 方法可以找出成员变量 `num1` 和 `num2` 中的大者,并将其输出。
接下来,在主类 `Main` 中,我们声明了一个 `DoubleDemo` 类的对象 `demo`,并使用该对象先调用 `setNums` 方法,将两个数值传递进去,然后再调用 `findMax` 方法,找出两个成员变量中的大者并输出。
阅读全文