我正在学习编写java代码,我不明白为什么我的编译器不能识别我的类和对象
主块我正在学习编写java代码,我不明白为什么我的编译器不能识别我的类和对象,java,class,Java,Class,主块 import java.util.Scanner; public class pk1 { public static void main(String[] args) { System.out.println("Enter student name"); sd mark=new mark(); Scanner scan=new Scanner(System.in); sd.mark.age=15; sd.mark.rollnumber=14;
import java.util.Scanner;
public class pk1 {
public static void main(String[] args) {
System.out.println("Enter student name");
sd mark=new mark();
Scanner scan=new Scanner(System.in);
sd.mark.age=15;
sd.mark.rollnumber=14;
System.out.println(sd.mark.age);
System.out.println(sd.mark.rollnumber);
}
我创建的类
}
public class sd {
public static Object mark;
int age;
int rollnumber;
}
我清楚地说明了sd是类的名称,并将mark声明为对象。Your
sd mark=new mark()代码>
应为sd标记=新sd()代码>。
因为mark
不是一个类,而sd
是一个类
还可以使用sd.age
和sd.rollnumber
访问age
和sd.rollnumber
我还建议您多写一些描述性的类名。例如,将sd
重命名为Student
此行有一个错误:
sd mark=new mark();
sd
=类型(类)
标记
=变量
new mark()
->没有“mark”类,它应该是new sd()
,“mark”是sd
类的成员,我注意到您在同一个文件中添加了两个类。同一文件中不能有两个公共类
我不知道您想对sd类中的mark属性做什么,但您似乎正在学习OOP,需要对定义类和实例化对象进行一些澄清
删除标记属性和公共修饰符(如果将类定义保留在同一文件中)。
将其更改为:
class Sd {
int age;
int rollnumber;
}
然后可以创建一个名为mark的新实例。这里您实例化了一个新的mark对象,但mark不是一个类。要创建新对象,请使用类的构造函数
Sd mark = new Sd();
mark.age = 15;
System.out.println(mark.age);
这应该更有效。但我会为您找到一些好的资源来学习OOP的基础知识
首先,我建议你们把你们的课程分开放在一个专用的文件里。它通常也承认类名以大写字母开头。这允许您最容易地读取代码。您遇到了什么错误?请尝试sd.age
和sd.rollnumber
我创建了一个专用文件。我真的不知道如何在堆栈溢出中表示它