Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我正在学习编写java代码,我不明白为什么我的编译器不能识别我的类和对象_Java_Class - Fatal编程技术网

我正在学习编写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
我创建了一个专用文件。我真的不知道如何在堆栈溢出中表示它