作者lazarus1121 (...)
看板java
标题[问题] 关於父类别中全域变数的问题
时间Sun Jul 28 23:24:57 2019
请想问一下一个粗浅的问题
可是我不知道要下什麽关键字来找答案所以找不到@@
假如我有一个类别jar档 AAA
他的架构是
建构子中会new一些全域物件
然後当中的抽象类别BBB可供我呼叫
因此我在使用上大概是
AAA aaa = new AAA();
aaa.BBB(new todo(){
实作(){
热水 water = 烧水();
water.放凉;
喝水(water);
}
})
实作中的喝水会使用AAA的模组来对全域物件进行存取,大概是这样
我碰到的问题如下
因为这个实作里面都是固定 烧水放凉+喝水,想抽出来
一开始试着全部丢到新method,但是喝水那行抽不了
因此改成让新class继承AAA,新抽象类别再继承BBB
直接在新抽象类别做 烧水放凉+喝水 ,以後我都改用新的class就好
不过执行下去在喝水的地方NullPointerException
因为他要读AAA的全域物件时找不到......
卡到最後我只好做半套弄一个会回传water的烧水放凉模组
再把water放到喝水中orz
想请问这种架构真的没办法抽出来吗,感谢@@
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.165.0.30 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1564327499.A.689.html
1F:→ ssccg: 类别jar档? aaa.BBB() ← 这是类别还方法? new todo()? 07/28 23:56
2F:→ ssccg: AAA的全域物件? 觉得你的描述根本就不像已经掌握架构了 07/28 23:57
3F:→ ssccg: 先学好正确描述Java class、field、method关系....说不定学 07/29 00:01
4F:→ ssccg: 好後你就自然会改了 07/29 00:01
5F:推 Jichang: 应该是没有呼叫super 07/29 18:20
6F:推 MephistoH: 通常变数类的都会封装用 get set 的method来用吧 ... 08/12 14:19