java system out_Java中System.out.println的含义是什么?

实际上, out是System类中的一个静态成员(不是.NET中的),是PrintStream一个实例。 println是PrintStream类的正常(重载)方法。

实际上,如果out / err / in是类,由于命名约定 (忽略语法),它们将用大写字母( Out / Err / In ) 命名 。

System是一个类,有一个公共静态字段。 所以更像

class System { public static PrintStream out; } class PrintStream { public void println ... }

这只是一个简单的过度简化,因为PrintStream类实际上是在java.io包中,但它足以显示出东西的关系。

检查以下链接:

你会清楚地看到:

System是java.lang包中的一个类 。

out是System类的静态成员 ,是java.io.PrintStream一个实例。

println是java.io.PrintStream一个方法 。 这个方法被重载以打印消息到输出目的地,这通常是一个控制台或文件。

的System.out.println()

高层次的理解

为了理解这个,我们需要回忆一下java的一些基础知识:

在java中的点(。)运算符:在java中。 (点运算符)仅用于调用方法或variables。 所以我们可以说是无论是方法还是variables。

在java中的方法:我们知道方法名后面总是有括号'()',所以out在java中不能是方法。 所以出它的一个variables和println()是一种方法 。

java中的类名:类名应该以java中的大写字母开头, 所以System是一个类 。

现在有了基本的Java知识,我们知道:

系统是一个类

out是一个variables

println()是一种方法

让我们来了解更多细节:

出variables :静态还是实例?

使用类名来调用,所以我们知道它的System类的静态variables。

但是它调用方法println()方法,所以'out'是引用typesPrintStream的一个对象。

System类属于java.lang包

class System { public static final PrintStream out; //... }

Prinstream类属于java.io包

class PrintStream{ public void println(); //... }

println和print是属于PrintStream类的两个重载方法。

要访问它们,我们需要这个类的一个实例。

在System类上创build一个名为PrintStreamtypes的静态属性 。

因此,要访问上述方法,我们使用以下语句:

System.out.println("foo"); System.out.print("foo");

System.out.println("Hello World");

System :标准类的名称,它包含封装系统的标准I / O设备的对象。

它包含在包 java.lang 。 由于java.lang包默认是在每个Java程序中导入的,因此java.lang包是Java API中唯一不需要导入声明的包。

out : out表示输出stream(即Command窗口),是System类的静态数据成员。

所以请注意这里System.out ( System类和out – 静态对象,即为什么它只是简单的引用的类名,我们不需要创build任何对象 )。

println : println()是out对象的方法 ,它将文本string作为参数,并将其显示到标准输出,即在监视器屏幕上 。

注意

System类

out对象

println()方法

记住一个函数(在java函数中被称为方法)总是具有格式function()

System是java.lang包中的一个类

out是java.io包中的PrintStream类的static对象

println()是PrintStream类中的一个方法

理解这个问题是相当简单的,但为了回答这个问题,我们需要深入挖掘Java本地代码。

System是静态类,不能被实例化

out是System定义的引用variables

println()是用于在标准输出上打印的方法。

总是欢迎一个简短而好的解释 ,因为我们可以从这一行的陈述本身学到很多东西!

因为out是使用System类名称本身调用的,而不是一个类(一个对象)的实例,所以out必须是一个属于类System的静态variables。 out必须是一个类的实例,因为它正在调用println()方法。

// the System class belongs to java.lang package class System { public static final PrintStream out; } class PrintStream { public void println(); }

System.out.println();

System是class级

out是System类中的一个variables,它是一个static和可变types的PrintStream 。

这里是System类中的outvariables:

public final static PrintStream out = null;

你可以在这里看到System实现。

println()是PrintStream类中的重载方法。

PrintStream包含三种重载的打印方法,它们是:

print()

println()

printf()

你可以在这里看到PrintStream实现 。

你不能实例化System类,它是Object子类,而Object是每个类(包括你定义的类)的父类(父类)。

这是oracle文档所说的:

public final class System extends Object

System类包含几个有用的类字段和方法。 它不能被实例化。

System类提供的function包括标准input,标准输出和错误输出stream; 访问外部定义的属性和环境variables; 一种加载文件和库的方法; 以及用于快速复制数组的一部分的实用方法。

从以下版本开始:JDK1.0

如果你不知道实例化的意思,请阅读这个问题 。 这是C#的问题,但概念是一样的。

另外, 一个实例和一个对象有什么区别?

如果你不知道什么是超载的意思阅读这个quesiotn 。

System是一个类。

outvariables(以上称为System.out )是System类的一个类variables。

PrintStream类位于一个用于为Java提供streamI / Ofunction的类包中。

System类中的outvariables引用(指向) PrintStream类( PrintStream对象)的一个实例,当System类加载到应用程序中时,该实例会自动实例化。 PrintStream类有一个名为println()的实例方法,它使参数显示在标准输出设备上。

System是java.lang包的一个类, out是PrintStream类的对象,也是System类的static数据成员, print()和println()是PrintStream类的一个实例方法。 它在控制台上提供软输出。

System是java.lang包中的一个类。

out是System类中的静态数据成员和PrintStream类的引用variables。

Println()是PrintStream类的正常(重载)方法。

从关于System的javadoc,这里是文档说:

public final class System extends Object The System class contains several useful class fields and methods. It cannot be instantiated. Among the facilities provided by the System class are standard input, standard output, and error output streams; access to externally defined properties and environment variables; a means of loading files and libraries; and a utility method for quickly copying a portion of an array. Since: JDK1.0

关于System.out

public static final PrintStream out The "standard" output stream class Prinstream belongs to java.io package. This stream is already open and ready to accept output data. When the JVM is initialized, the method initializeSystemClass() is called that does exactly what it's name says – it initializes the System class and sets the out variable. The initializeSystemClass() method actually calls another method to set the out variable – this method is called setOut(). Typically this stream corresponds to display output or another output destination specified by the host environment or user.

关于println();

class PrintStream{ public void println(); }

对于简单的独立Java应用程序,编写一行输出数据的典型方法是:

System.out.println(data);

System级是final的性质。 public final class System{} 。 属于java.lang包

PrintStreamtypes的out – static引用variables

println() – PrintStream类中的非static方法。 PrintStream属于java.io包。

为了更好地理解它,您可以访问: System.out.println()如何在Java中工作

系统是java类。

out是PrintStream的实例,也是静态成员。

println是PrintStream的方法。

Java代码中的System.out.println(“…”)被转换成JVM。 研究JVM让我更好地理解了后台正在发生的事情。

这是JVM源代码。

.class public HelloWorld .super java/lang/Object .method public static main([Ljava/lang/String;)V .limit stack 2 .limit locals 1 getstatic java/lang/System/out Ljava/io/PrintStream; ldc "Hello, world" invokevirtual java/io/PrintStream/println (Ljava/lang/String;)V return .end method .end class

由于“JVM不允许字节级访问内存”typesL java/io/PrintSteram的out对象; 与getstatic JVM命令一起存储在一个堆栈中。 然后在从名为out的实例调用java/io/PrintStream类的方法println之前将参数推入堆栈。 该方法的参数是(L java/lang/String ;),输出types是void(V)。

System.out.println

System – 是java.lang一个类。 out是System类的static数据成员,并引用PrintStream类的variables。

System :是预定义的java.lang包的类。

out :是printStream类的static成员,并且与控制台连接。

Println :是一个printstream类的方法,它不是static 。

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值