Java编程思想
Carmelo_Z
这个作者很懒,什么都没留下…
展开
-
Java静态属性与静态方法能否被继承的问题
原文链接:点击打开链接结论:java中静态属性和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏.原因:1). 静态方法和属性是属于类的,调用的时候直接通过类名.方法名完成对,不需要继承机制及可以调用。如果子类里面定义了静态方法和属性,那么这时候父类的静态方法或属性称之为"隐藏"。如果你想要调用父类的静态方法和属性,直接通过父类名.方法或变量名完成,至于是转载 2017-03-27 23:25:21 · 4747 阅读 · 2 评论 -
类的包访问权限:《Java编程思想》中一段话的困惑
原文链接:点击打开链接类的包访问权限:《Java编程思想》中一段话的困惑 在《java编程思想第三版》(陈昊鹏 饶若楠等译)的第五章隐藏具体实现中,5.4节的最后一段话是: “正如前面所提到的,如果没能为类访问权限指定一个访问修饰符,它就会缺省得到包访问权限。这意味着该类的对象可以由包内任何其他类来创建,但包外则是不行的。(一定要记住,相同目录下的所有不具转载 2017-03-11 22:58:04 · 350 阅读 · 0 评论 -
Java泛型知乎,关于原生类型
众所周知,raw type(原生类型)这一概念是为了在Java推出泛型以后,依然兼容过去的代码所发明的。因此,我们可以得出一条推论,就是假如一个类C已经泛型化了,而你却在使用它的raw type,那说明你压根不知道它是个泛型的类,因此编译器有必要提醒你,哎这里类型需要显式转换一下。什么叫泛型化(generified type)呢?就以我上面贴的那段代码为例。假如它是Java 5以前转载 2017-05-04 23:18:45 · 1382 阅读 · 0 评论 -
Java泛型进阶
原文链接1.在泛型代码内部,无法获得任何有关泛型参数类型的信息。“在泛型代码内部,无法获得任何有关泛型参数类型的信息”,这并不是说使用泛型代码时给定的类型参数会消失(要不然泛型就没有存在的意义了,外部将T定为比如String类型后,之后的T就被定为String类型了),而是说我们只知道这是个泛型类型,可以代表多种类型,即我们不能通过T访问与某种特定类有关的方法,属性等(当然,有转载 2017-05-04 22:46:35 · 350 阅读 · 0 评论 -
Java泛型通配符
原文链接未知类型:? 有类型:T一、通配符的上界既然知道List并不是List的子类型,那就需要去寻找替他解决的办法, 是AnimalTrianer.act()方法变得更为通用(既可以接受List类型,也可以接受List等参数)。在java里解决办法就是使用通配符“?”,具体到AnimalTrianer,就是将方法改为act(List list),当中“?”就是通配符,而转载 2017-05-05 00:09:25 · 248 阅读 · 0 评论