我很难理解Java对象和类

Cur*_*ent 8 java class object

例1

/**
 *Program Name: Cis36L0411.java  
 *Discussion:   Class -- Data Members ONLY
 *                       Method Members ONLY
 */ 
class Cis36L0411 
{
  public static void main( String[] args )
  {
    DataOnly data1 = new DataOnly();        

    System.out.println( "DataOnly\tLIMIT\t\t" + data1.LIMIT );
    System.out.println( "\t\tintMem\t\t" + data1.iMem );
    System.out.println( "\t\tdoubleMem\t" + data1.dMem );

    MethodOnly method1 = new MethodOnly();  

    method1.printFunc( 5 );
    method1.printFunc( "MethodOnly object!" );

    method1.printFunc( data1.LIMIT );

    return;
 }
}

class DataOnly
{
  final int LIMIT = 100; //constant and package mode or access
  int iMem;              //package mode or access
  double dMem;           //package mode or access
}

class MethodOnly
{
  void printFunc( int iA ) //package mode or access
  {
    System.out.println( "The int value is " + iA );

    return;
  }

  public void printFunc( String str ) //public mode or access
  {
   System.out.println( "The String is printed from  " + str );

    return;
  }
}
Run Code Online (Sandbox Code Playgroud)

我去了这个网站,我读了它,但我仍然感到困惑.

  1. DataOnly data1 = new DataOnly();我知道这一行会创建一个对象.但有人可以为我打破这条线吗?每个单词的作用是什么?DataOnly是班级?类型?data1是变量?我认为new DataOnly是对位置的引用.那()是位置的变量?我对么?

  2. 他们怎么打印data1.LIMIT,data1.iMem,Data1.dMem?他们是通过查看位置来打印的DataOnly()吗?是否DataOnly()引用类DataOnly

  3. 我只是在MethodOnly对象的整个过程中完全迷失了.

Joh*_*nFx 5

1)DataOnly data1 = new DataOnly(); 我知道这一行会创建一个对象.但有人可以为我打破这条线吗?每个单词的作用是什么?DataOnly是类?类型?Data1是变量?我认为新的DataOnly是对位置的引用.并且()是位置的变量?我对么?

该行意味着创建一个名为"data1"的变量,类型为DataOnly.然后创建一个"DataOnly"类型的新对象,并使变量指向它.

2)他们是如何打印data1.LIMIT,data1.iMem,Data1.dMem的?他们是通过查看DataOnly()的位置来打印的吗?DataOnly()引用类DataOnly吗?

DataOnly只是对象(类)的模板.打印使用从该模板创建的内存中的对象来打印值.

3)我完全迷失在MethodOnly对象的整个过程中.

对象可以包含数据和执行函数,具体取决于创建它的tempate(类).MethodOnly类似乎被定义为仅包含代码而不包含数据.DataOnly类似乎被定义为仅存储值而不执行任何操作.

总结
我认为最简单的方法就是该类是对象的蓝图.基于这些蓝图创建对象(使用"new"关键字)并存储在内存中.所以你的所有工作都将用对象完成,你只需使用类来告诉它你想要什么类型的对象.