鉴于我们有java程序,我们通过String ab=new String
等声明声明对象的引用。
Java如何成为面向对象的编程语言?这个程序中有哪个对象?
在以下Java代码中,我看不到任何对象。我想知道是否有任何对象用于打印问候消息。
class a
{
public static void main(String a[])
{
System.out.println("hello");
}
}
答案 0 :(得分:5)
如果有n
个命令行参数,则有n + 5
个对象:
"hello"
是一个对象。a
是一个对象。String
数组传递给main
的每个命令行参数都有一个a
对象。System
类,即使没有实例,也有static
个引用3个对象:out
和err
PrintStream
,以及in
InputStream
。请注意,您的a
课程没有实例。
答案 1 :(得分:3)
是的,涉及的对象很少
类System有一个对象“out”,它是PrintStream类型的对象,它正在调用它的println方法
String a[]
a是一个类型的对象:Array(of Strings)。
你有class a
即使它没有任何属性或instance
方法你仍然可以实例化它,没有意义,因为它拥有的一切都是静态方法(主要)。
此外,您可能需要检查面向对象的功能。你有封装,以你的主要方法为例,你可以从外面调用它;你有继承,你的类a,实际上所有的类都将至少继承到根对象类:java.lang.Object
I want to know if there is any object used to print the hello message.
在这种情况下,对象out实现了一个println方法,该方法接收一个String对象以在控制台中传递接收到的String。
答案 2 :(得分:2)
字符串"hello"
是一个对象。它没有new
运算符,但这只是因为String
类支持使用双引号创建文字的特殊语法。
您在a
方法中声明的main
数组也是一个对象。传递的任何参数也都是对象。
System.out
也是一个对象(输出流),它是在System
类的代码中初始化的。
答案 3 :(得分:1)
a
,"hello"
和System.out
都是对象。大多数新对象都是使用关键字new
创建的,但字符串文字也会创建一个对象。名为a
的对象由Java运行时系统创建,以包含程序的参数。对象System.out
是标准库的一部分。
答案 4 :(得分:1)
"hello"
是String
个对象。可以在Java中构造字符串对象而不使用expliciet构造函数调用。
答案 5 :(得分:1)
a
,System
,out
,传递给main的数组,都是来自java.lang.Object的所有东西
答案 6 :(得分:1)
Java中几乎所有东西都是一个对象。在这种情况下,您的类'a'是一个接受String对象数组作为参数的对象。在main方法中,它使用另一个String对象作为参数对System对象进行静态调用。据我所知,没有没有对象的Java。
答案 7 :(得分:1)
仅列举程序中涉及的一些对象:
String a[]
是一个对象; System.out
是一个对象; "hello"
是一个对象; 您可以看到这些。但也有:
main Thread
; class a
; System
; ClassLoader
; 还有更多。
当然,这完全取决于您如何定义参与程序。