新声明前面的Java关键字

新声明前面的Java关键字,java,Java,我想学一些Java 当我运行以下代码时,它可以工作: /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package test; /** * * @author me *

我想学一些Java

当我运行以下代码时,它可以工作:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package test;

/**
 *
 * @author me
 */
public class Test {

    int myAge;

    public getAge( ){
        system.out.println(myAge);
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        Test Tester = new Test();
        Tester.myAge = 5;

        System.out.println(Tester.myAge);
    }

}
正如您所看到的,在我的主要功能中有一个测试测试仪。当我这样移除它时:

Tester = new Test();
它不再工作了。为什么我要在此函数之前添加测试。
记住,我对Java编程仍然很在行这是我的第一个程序,所以要温柔。

你需要告诉编译器什么是类型测试仪

您可能认为编译器可以解决这个问题,因为您正在创建一个测试,但它不能。这是因为测试员可以做很多事情;通常是测试实现的接口或基类


例如,您还可以编写java.lang.Object Tester=new Test。

您需要告诉编译器Tester是什么类型

您可能认为编译器可以解决这个问题,因为您正在创建一个测试,但它不能。这是因为测试员可以做很多事情;通常是测试实现的接口或基类

例如,您还可以编写java.lang.Object Tester=new Test。

Test Tester=new Test可以这样分解:

Test声明一个名为….的对象类型Test变量。。。。 测试员 =将此创建的引用指定给在右侧计算的对象 new在类型为的堆上创建一个新对象。。。 测试初始化由new创建的实例的空构造函数 Test tester=新测试可以分解如下:

Test声明一个名为….的对象类型Test变量。。。。 测试员 =将此创建的引用指定给在右侧计算的对象 new在类型为的堆上创建一个新对象。。。 测试初始化由new创建的实例的空构造函数
在java中创建新对象时,需要4个关键字。对象的TypeClass,变量名=新构造函数调用。除非您之前做出了如下声明:Test Tester;您不能简单地键入Tester=newtest。

在java中创建新对象时,需要4个关键字。对象的TypeClass,变量名=新构造函数调用。除非您之前做出了如下声明:Test Tester;您不能简单地键入Tester=newtest。

这里有一个关于

Tester是类Test的一个引用变量,在您按照Java建议的方式指定之前,编译器无法知道它

ClassName referenceVariablName=new ClassName(); //You can also pass arguments

这里有一个关于

Tester是类Test的一个引用变量,在您按照Java建议的方式指定之前,编译器无法知道它

ClassName referenceVariablName=new ClassName(); //You can also pass arguments

Java的工作方式是

TypeName var_name = new TypeConstructor();
这里,TypeName是您的类名。但是,您可以分两部分进行:

TypeName var_name; // IN the beginning


var_name = new TypeConstructor(); // Or using some other method that returns an object of TypeName
但是,您需要确保它被正确实例化或分配。没有TypeName,Java无法像您这样解析新的TypeConstructor语法

需要记住的一点是,TypeName和TypeConstructor在var_name方面必须是相同的类型。你不能像下面这样做

String var_name;  // I declared var_name of type String
var_name = new Tester(); // I instantiate var_name to have defaults of type Tester - fails

实例化和声明是这里的关键——您只需留下一个未实例化的变量var_名称,Java就不会尖叫了。请参见上的示例。这就像你与雇主签订的工作合同一样,t&c适用。一旦您签署了声明Test为type Tester,您就不能简单地返回并说我将进行type Tester的测试,即Test=new Tester。除非你安排一份新合同,否则你就是在违反合同的条款。

Java就是这样工作的

TypeName var_name = new TypeConstructor();
这里,TypeName是您的类名。但是,您可以分两部分进行:

TypeName var_name; // IN the beginning


var_name = new TypeConstructor(); // Or using some other method that returns an object of TypeName
但是,您需要确保它被正确实例化或分配。没有TypeName,Java无法像您这样解析新的TypeConstructor语法

需要记住的一点是,TypeName和TypeConstructor在var_name方面必须是相同的类型。你不能像下面这样做

String var_name;  // I declared var_name of type String
var_name = new Tester(); // I instantiate var_name to have defaults of type Tester - fails

实例化和声明是这里的关键——您只需留下一个未实例化的变量var_名称,Java就不会尖叫了。请参见上的示例。这就像你与雇主签订的工作合同一样,t&c适用。一旦您签署了声明Test为type Tester,您就不能简单地返回并说我将进行type Tester的测试,即Test=new Tester。除非你安排一份新合同,否则你就违反了合同的条款。

Java不是Ruby或JavaScript那样的动态类型语言。它是静态类型语言。所以,对于编译器,您需要为所有变量定义类型。

Java不像Ruby或JavaScript那样是动态类型语言。它是静态类型语言。因此,对于编译器,您需要为所有变量定义类型。

您需要声明在本例中为Test的Tester类型。这只是Java语法的一个要求。{Type}{variableName}={expression};是带有赋值的声明。{variableName}={expression}只是一个赋值,必须已经声明该变量,否则您将得到
您正在得到的错误。是{Type}子句使其成为声明而不是普通赋值。顺便说一句,请遵循命名约定。局部变量名称应为camelCase。您需要声明在本例中为Test的测试器类型。这只是Java语法的一个要求。{Type}{variableName}={expression};是带有赋值的声明。{variableName}={expression}只是一个赋值,必须已经声明该变量,否则您将得到所得到的错误。是{Type}子句使其成为声明而不是普通赋值。顺便说一句,请遵循命名约定。局部变量名应该是camelCase。我可以这样做吗?串测试器;以后的测试仪=新测试;?否,因为您的Tester声明是String类型。您需要了解Java声明和实例化的基础知识。测试的类型是什么?因为Test不是imo类型,但它是我的类。。。很抱歉,noob xDTester是您的变量或对象。你应该把它命名为Java camelCase。Test是类名。您使用了Testclass的默认构造函数。您需要了解Java以及如何创建类的对象,即如何正确实例化类。请看下面的@NeerajJain,他在这里发布了一个很好的链接。这和我现在注意到的PHP是一样的。只是语法上的细微差别。不管怎样,谢谢你:我也可以这样做吗?串测试器;以后的测试仪=新测试;?否,因为您的Tester声明是String类型。您需要了解Java声明和实例化的基础知识。测试的类型是什么?因为Test不是imo类型,但它是我的类。。。很抱歉,noob xDTester是您的变量或对象。你应该把它命名为Java camelCase。Test是类名。您使用了Testclass的默认构造函数。您需要了解Java以及如何创建类的对象,即如何正确实例化类。请看下面的@NeerajJain,他在这里发布了一个很好的链接。这和我现在注意到的PHP是一样的。只是语法上的细微差别。无论如何,谢谢:java.lang.Object是做什么的?它是java中每个类的基类。java.lang.Object是做什么的?它是java中每个类的基类。谢谢看一下:谢谢看一下: