《32点关于Java的琐碎知识点》.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《32点关于Java的琐碎知识点》.doc

32点关于Java的琐碎知识点2011年10月29日 21:05:02 ? ? ? ?1.   对于类中的final类型属性,一般在声明的时候直接写 final int a =1 ;但也可以在构造函数中进行赋值   如:   final int a;   A{}( a =1;)   但要注意:需要每一个构造函数都赋值,且不能嵌套。   而:如果想写static final int a;则必须在声明时进行初始化,static final int a = 1;因为静态的也是不属于类。   2.   继承中要注意的问题:子类对父类中构造方法的问题   父类的中构造方法不能被继承,故   class A{}   class B extends A{ A();} //是错的,只能用super关键字   如果子类中没有显示的调用super,则系统会加上,super();注意即是找父类中无参数的构造方法,所以,如果父类自己写了构造方法而导致无参数的已经不存在了,   则会出错.   3.   静态方法:只属于类本身,而不是某个对象。它是在类加载的时候,就已经为之分配好内存了。这时,并没有产生这个的对象。而对象只有在new时候才会出现。所以只能把这个变量加个static.这也叫做类变量,与之对应的叫做实例变量。   4.   main是静态的,因为它不是属于某个类的,而是全局的。   因此在执行时直接找到main,而不是针对某个类的对象。   如果不是static,则会先产生类的对象。   public:由于其是虚拟机调用,因此必须是public的   static:由于其不必产生对象,因此是static的   5.   对于主类的修饰符是default时:表示在同一个包中可以被访问。   6.   final类不能被继承。   7.   private的方法,只要出了类就不能被访问,不管是在同一个包中,还是继承关系。   默认的访问权限都是在这个包中,被继承也不能被访问。   protected 方法对以上均适用,但 和 public 方法也有区别   在于:对于不同包中,没有继承关系的两个类而言,在一个类中使用了另一个类的对象,则只有public方法可以被访问,而protected方法不能被访问。   8.   抽象方法的声明:abstract void proMethod(); //不要加大括号   看一个类是否被实现,不是看{}里面有没有代码,而是看有没有{} ??????? 9. JNI(Java Native Interface),它允许Java虚拟机(JVM)内部运行的Java代码能够与用其它编程语言(如c、c++、汇编语言)编写的应用程序和库进行互操作。   JNI可以理解为Java和本地应用程序之间的中介。   它最大的好处是没有对底层Java虚拟机的实现施加任何限制。   写一个native的方法:   1.写java代码段,如HelloWorld.java。   2.用javac来编译之,得到.class文件。   3.用javah -jni 来生成HelloWorld头文件,得到HelloWorld.h   4.用HelloWorld.h来生成本地方法,得到HelloWorldImp.c   5.编译本地代码,加载共享库,生成Hello.so   (so文件是linux,或unix下动态连接库的文件,相当于windows下的.dll)   10.   对于接口中的方法,默认情况下就是public abstract的,因此不用再写,也因此,实现接口时必须用public来修饰。   接口中的数据成员默认都是public static final.   11.  ? 以下是代码片段:  class Z extends A implements B,C?   {?   }?   //注意这个顺序先派生类,再实现接口。   12.   有关内部类:   当我们产生一个派生类的对象的时候,它会调用基类的构造函数,产生一个基类的对象。   因此  ? 以下是代码片段:  class Car?   {?   class Wheel?   {?   }?   }?   class PlaneWheel extends Car.Wheel?   {?   public static void main(String[] args)?   {?   PlaneWheel pw = new PlaneWheel();?   }?   }   这是不能通过编译的,因为我们要产生pw,就必须先产生Car.Wheel的对象,而它是内部类,所以要产生它的对象,就必须先产生外部类的对象,才能建立起内部与外部的引用关系。   因此作出改变: 以下是代码片

文档评论(0)

ycwf + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档