黑马程序员技术交流社区
标题:
System类中的字段是什么意思
[打印本页]
作者:
刘海陆
时间:
2013-4-16 14:51
标题:
System类中的字段是什么意思
本帖最后由 刘海陆 于 2013-4-17 17:09 编辑
比如,System.out.println()
out是字段,那么这个是怎么调用println方法的呢, 调用方法的格式应该是类名.方法名,中间这个out是干什么用的?
作者:
沈浩
时间:
2013-4-16 15:22
字段 可以理解为类中的成员变量或成员常量
查看API可以看到 public static final PrintStream out out是PrintStream类的对象 所以System.out也就是PrintStream类的对象 println()是PrintStream类中的方法 所以就是System.out.println()
作者:
艾萱
时间:
2013-4-16 15:28
其实System是java.lang里面的一个类,
而out就是System里面的一个数据成员(也称为字段),但这个成员不是基本类,而是java.io.PrintStream类的对象。
被关键字static修饰的数据成员或方法可以直接通过“类名.数据成员”或“类名.方法”来引用,而无须先建立对象。所以System.out是应用了out这个静态数据成员。
而out又是一个java.io.PrintStream类的对象,所以out必然可以调用java.io.PrintStream类里面的方法,println()就是java.io.PrintStream类里的一个方法,它的作用就是用来想控制台输出信息的。
作者:
史庆宇
时间:
2013-4-16 15:34
System是类,out是静态属性,System.out返回的是PrintStream类的实例,而在类PrintStream中有println()方法.
System.out 返回的是一个static PrintStream。
作者:
刘海陆
时间:
2013-4-16 19:02
谢谢大家,
作者:
645420297
时间:
2013-4-16 22:50
类相当于JAVA里面的一个类型,不要以为变量只有整型,字符串,浮点型这些,类也算是一种类型,所以这里的out其实是一个PrintStream类型,看API就明白.
而这个类里面就提供了println这个方法
package foo.bar;
class Out{ int x,y; void println()
{
System.out.println("你好啊.呵呵");
}
}
public class No1
{ Out out;//out是NO1类的成员变量,不过它是一个类类型的.
public No1()
{
out=new Out();
}
public static void main(String[] args)
{
new No1().out.println();
}
}
作者:
黄玉昆
时间:
2013-4-17 09:06
如果问题未解决,请继续追问,如果没有问题了,请将帖子分类 改为“已解决”,谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2