黑马程序员技术交流社区

标题: java类的问题 [打印本页]

作者: 周志伟    时间: 2013-5-8 23:53
标题: java类的问题
本帖最后由 周志伟 于 2013-5-10 00:24 编辑
  1. class show
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 //这里我new了一个对象s,我想调用一下类show的方法,类show都有哪些方法啊??
  6.                 show s = new show();
  7.                 System.out.println("Hello World!");
  8.         }
  9. }
复制代码

作者: Jacky_Chen1990    时间: 2013-5-8 23:53
本帖最后由 Jacky_Chen1990 于 2013-5-8 23:56 编辑

占个楼。
你没有自定义的方法。那么就可以调用它的父类的方法。所有类都是object的子类,所以你可以调用object中的一些方法。当然你也可以调用main方法。不过这个我没试过。

欢迎指教。


作者: 潘贵    时间: 2013-5-9 00:18
所有类的父类都是Object,方法查阅API
作者: long    时间: 2013-5-9 00:33
java规定所有类都直接或间接继承Object类,也就继承了Object类的全部非private方法。通过查阅API文档,可知类show有下列方法:

方法摘要
protected  Object clone()
          创建并返回此对象的一个副本。
boolean equals(Object obj)
          指示其他某个对象是否与此对象“相等”。
protected  void finalize()
          当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
Class<?> getClass()
          返回此 Object 的运行时类。
int hashCode()
          返回该对象的哈希码值。
void notify()
          唤醒在此对象监视器上等待的单个线程。
void notifyAll()
          唤醒在此对象监视器上等待的所有线程。
String toString()
          返回该对象的字符串表示。
void wait()
          在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。
void wait(long timeout)
          在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量前,导致当前线程等待。
void wait(long timeout, int nanos)
          在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量前,导致当前线程等待。
作者: SOAR    时间: 2013-5-9 07:22
可以用反射知道它都有哪些方法。
作者: 刘茂林    时间: 2013-5-9 10:20
我发了个主题帖 你去查查 API文档就知道了  去下载我的API文档API文档链接地址
作者: 飞鸟青崖    时间: 2013-5-9 10:53
它父类中的方法和它本身的方法,这里它本身的方法只有一个main,但是没办法通过对象直接调用。
作者: 刘胜寒    时间: 2013-5-9 12:00
如果问题以解决。。请楼主修改分类哦。。。技术分。给你加过了。。哈哈
作者: 王永贺    时间: 2013-5-9 12:51
楼主可以用反射来解决啊  代码如下
  1. import java.lang.reflect.*;

  2. public class show {//利用反射得到该类中所有的方法
  3.         public show(){}
  4.         public void print() {
  5.         }

  6.         private int sum(final int a, final int...b) {
  7.         return 0;
  8.         }
  9.     public int fn(){return 0;}
  10.         public static void main(String[] args) {
  11.                 // 这里我new了一个对象s,我想调用一下类show的方法,类show都有哪些方法啊??
  12.                 show s = new show();
  13.                 Class c = s.getClass();  //创建show类的字节码文件
  14.                 Method[] meth = c.getDeclaredMethods();  //得到show类中的所有的方法  
  15.                 for (Method m : meth)
  16.                         System.out.println(m.toString() + "{}");
  17.                 System.out.println("Hello World!");
  18.         }
  19. }
复制代码

作者: 周志伟    时间: 2013-5-9 15:04
Jacky_Chen1990 发表于 2013-5-8 23:53
占个楼。
你没有自定义的方法。那么就可以调用它的父类的方法。所有类都是object的子类,所以你可以调用ob ...

貌似要查api,but ,我不会查api。
作者: 周志伟    时间: 2013-5-9 15:05
潘贵 发表于 2013-5-9 00:18
所有类的父类都是Object,方法查阅API

aip表示没有查过啊,如何查api?
作者: 周志伟    时间: 2013-5-9 15:06
long 发表于 2013-5-9 00:33
java规定所有类都直接或间接继承Object类,也就继承了Object类的全部非private方法。通过查阅API文档,可知 ...

学习了,谢谢啦,我再仔细看看。
作者: 周志伟    时间: 2013-5-9 15:06
SOAR 发表于 2013-5-9 07:22
可以用反射知道它都有哪些方法。

谢谢啦,我还没有看到反射,继续学习中。
作者: 周志伟    时间: 2013-5-9 15:07
刘茂林 发表于 2013-5-9 10:20
我发了个主题帖 你去查查 API文档就知道了  去下载我的API文档API文档链接地址 ...

好的,这就去下载,谢谢啦

作者: 周志伟    时间: 2013-5-9 15:08
飞鸟青崖 发表于 2013-5-9 10:53
它父类中的方法和它本身的方法,这里它本身的方法只有一个main,但是没办法通过对象直接调用。 ...

奥,学习了,谢谢啦
作者: 周志伟    时间: 2013-5-9 15:09
刘胜寒 发表于 2013-5-9 12:00
如果问题以解决。。请楼主修改分类哦。。。技术分。给你加过了。。哈哈

好的,我得都回复一下再修改。
作者: 周志伟    时间: 2013-5-9 15:09
王永贺 发表于 2013-5-9 12:51
楼主可以用反射来解决啊  代码如下

恩恩,学习了,谢谢啦
作者: zms2100    时间: 2013-5-9 15:40
这是大神在装菜鸟莫?O(∩_∩)O~..........不过学习到了,呵呵,这些知识点自己还真没注意,之前刚知道了可以本类中创建本类对象,然后在主函数中调用非静态方法,今天再学习个,自动继承至"上帝类"Object的情况,然后调用的功能,领教了,谢谢LZ分享,O(∩_∩)O~,话说这个用反射怎么弄的啊,还没学到反射,先了解下,O(∩_∩)O~
作者: 周志伟    时间: 2013-5-10 00:27
zms2100 发表于 2013-5-9 15:40
这是大神在装菜鸟莫?O(∩_∩)O~..........不过学习到了,呵呵,这些知识点自己还真没注意,之前刚知道了可 ...

我注册的比较早,一直没有时间看视频学习,所以,积分比较高。我不是大神,我是菜鸟。
作者: 明天,你好    时间: 2013-5-10 00:32
我也学习了 ,谢谢楼主
作者: 周志伟    时间: 2013-5-10 18:06
明天,你好 发表于 2013-5-10 00:32
我也学习了 ,谢谢楼主

嘻嘻,不客气,一起进步啦




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2