1
ech0x 2020-02-03 20:08:20 +08:00 via iPhone
前排吃瓜。
|
2
micean 2020-02-03 20:38:37 +08:00 via Android
哪里丑了,总得给个理由吧
|
3
lostberryzz 2020-02-03 20:39:19 +08:00
如果说复杂的设计是一种美,那么 Java 的内部类设计岂不是巧夺天工?
|
4
KentY 2020-02-03 20:42:17 +08:00 1
抛出新看法观点很正常, 起码说几个论据, 和怎么论证的吧?
|
5
Buges 2020-02-03 20:52:58 +08:00 via Android 1
C++更丑,“兼顾”了易用性,扩展性,性能,和历史遗留问题。简直就是缝合怪。
|
6
zhx1991 2020-02-03 21:07:28 +08:00 1
如果说 java 的设计是一种美, 那么 java 的设计岂不是很美?
|
7
imn1 2020-02-03 21:08:27 +08:00 2
非白即黑……
为何中国的教育一直不教逻辑? |
8
easylee 2020-02-03 21:13:55 +08:00
|
9
easylee 2020-02-03 21:17:05 +08:00
@easylee #8 接上:
简单是一种美,对的,但是所谓的简单也是根据内部的高度抽象来的呀。 Java 某种程度上以及某个年代上来说写法简单优雅,可以理解为美吧,但是你又吐槽人家内部丑陋......你去写一个更好的吧。 |
10
wmhx 2020-02-03 21:24:03 +08:00
java 在设计模式和严谨性上说第一, 没意见吧.
|
11
Harry 2020-02-03 23:21:32 +08:00 1
@fihserman123
且不说美丑。 Java 的内部类设计有它自己的用处(而且挺好用还挺简洁的)。这个在日常的后端开发中(服务器)不容易看到,如果你接触一些类似 android 的开发,或者看下 android 开源的代码,你就会发现这么大的系统,把所有的类暴露出来是一种迷惑和污染。反而使用内部类,一个可以是逻辑内聚,达到封装的目的,另一个也不会暴露给其他 public interface 导致其他人需要看到这个接口的实现而并不需要用到。 Effective Java 是一本非常不错的书,可以读一下。里边有 non static inner class 和 static inner class 的说明和讲解。 |
12
GM 2020-02-03 23:32:27 +08:00
开局一个论点,网友全靠猜?
|
13
janxin 2020-02-04 05:43:06 +08:00 via Android
简单确实美,但不代表复杂一定不美…
|
14
salamanderMH 2020-02-04 09:04:10 +08:00
Java 类设计挺好的
|
15
fihserman123 OP @Harry
内部类有:inner class、nested class、又配合着各种不同的权限修饰( public、protected、default、private ),当然还有匿名内部类、局部内部类。相比较而言,内部接口逻辑就简单很多,必须是 public 且 static 的( nested class 和内部接口逻辑是差不多的)。 说 Java 设计模式好的,的确,因为这容易让我们看懂代码,知道一个”get+类名"的组合就知道这是一个工厂方法了。可是,这另一方面,代码的堆叠太常见了。 如果说优美,我自认为内部接口比内部类优美很多。 |
16
fihserman123 OP 内部类的存在,我认为在于描述一种类之间的逻辑关系,或者说是具有 throwable 的特性。但是在 heap 中却不分内部类、外部类,本质实现上没有内外区别,Java 想提供一种安全的类间逻辑关系,但是这个逻辑却是显得过于复杂化了。
|