散分:对面向对象的理解Vs设计模式!大神指点。。。。。。。

qqw6789567 2015-07-28 11:52:06
先说一下我的理解,请大神指点
面向对象:一切都是对象,而程序组织中对象和对象是没有上下级之分,它们都是同级关系,但是往往我们在项目中很难达到这样的高度!为什么呢,因为我们都是用面向对象的语言、用面向过程的技术来实现我的业务逻辑的。
再说一下三大特征:封装继承多态。我们刚学Java的时候总是在这样说,但是为什么这样说呢?有么有想过呢?
封装好用我们做的最多的就是写类,在我认为其就是封装,当然你也可以吧几个一起。。。
继承呢?我认为继承并不是为了重用的,其实为了实现开闭的!
多态!我不知道我什么时候能达到熟练运用它!我感觉它非常的难!为什么呢?因为多态才是Java的本质,才是面向对象的本质!
当我们实现多个业务时,我们能否用一个方法来完成它!怎么完成!
求教大神我学Java不到不到一年,工作不到半年!我现在怎么提高自己呢?
现在再看设计模式。。。。。。。。没事的时候练习一下基础。。。。。。。请不吝赐教!
...全文
246 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
走在四季 2015-08-06
  • 打赏
  • 举报
回复
引用 4 楼 qqw6789567 的回复:
[quote=引用 2 楼 bao110908 的回复:] 面向对象设计原则以及设计模式,我的建议是:目前先把这些扔了,等你写了五年以上的代码之后,再去研究这些。 至于你现在该学什么,我的建议是:基础 可以看一下下面这些知识点(几年前整理的): 在 Java 中除了最为基础的东西之外,你只要看三样东西就可以了: Java 中有三大支柱,在 java.util.concurrent、java.security、javax.cropty、javax.security 四个包中就占了两个(多线程、安全) 还有一个网络在 java.net、javax.net 中,呵呵 掌握了上面 6 个包及其子包中内容的话,那 Java 水平可以说达到了另一种境界。 PS:三大支柱是我之前给 Java 中多线程、网络和安全取的代号,嘿嘿 这三样中的东西非常多,基本上就是 Java 的核心所在。 多线程(multi-threading and concurrent) 1:关键词:volatile, sychronized 2:传统的线程 API:java.lang.Thread, java.lang.Runnable, java.lang.ThreadGroup, Object#wait, Object#notify, Object#notifyAll 3:JDK 5 并发包(java.util.concurrent)API:线程池、任务执行器、计数信号量、倒计数门闩、并发集合(并发 Map、阻塞队列等)、基于 CPU CAS 指令的原子 API(java.util.concurrent.atomic)、锁 API(java.util.concurrent.lock)和条件对象等。 4:作为个人知识提升,还需要理解诸如自旋锁、分离锁、分拆锁、读写锁等的同步锁策略,以及可重入锁、锁的公平性的意义。以及各种并发锁的算法,比如:Peterson锁、Bakery锁 等等,以及现代 CPU 体系结构 涉及多线程及并发的 API 在 java.lang 中及 java.util.concurrent.* 中。 网络(network communication) 1:阻塞 TCP 通信、阻塞 UDP 通信、组播 2:非阻塞 TCP 通信、非阻塞 UDP 通信 3:客户端通信 API(java.net.URL, java.net.URLConnection 等类库) 涉及网络通信的 API 都在 java.net 和 java.nio.channels 包中。这里的网络已经将 RMI 相关包 java.rmi, javax.rmi 都排除了。 安全(security, cryptography and AAA) 1:Java 加密类库 JCA 2:Java 加密类库扩展 JCE 3:涉及密码学知识点的消息摘要、消息认证码、对称加密、非对称加密、数字签名 4:涉及网络通信证书管理工具(keytool)及 API(PKI、X.509证书) 5:基于 SSL/TLS 的安全网络通信 API(JSSE),包括:密钥库管理、信任库管理、阻塞 SSL 通信和非阻塞 SSL 通信等等 6:Java 认证及授权服务(JAAS)API 涉及安全的东西都在: java.security(JCA、JCE、数字证书,以及 JCE 的 SPI) javax.net(SSL/TLS) javax.security(JAAS) javax.crypto(密码学) keytool 的 JDK 工具
首先感谢大神的指点! 我们总监给的建议(15年):除了基础外,他说你要再境界上提高,不能老想着敲代码,境界啊!境界!你的境界达到了代码其他都能找到的! 但是和大神一个共同点都是基础,所以现在在看基础,那大神以上说的是基础吗?经验很好很强大! 而且这些东西在现在也很重要,并发和安全那都离不开啊。 那大神以上说的是基础吗???????????[/quote] 不是,摆明不是
走在四季 2015-08-06
  • 打赏
  • 举报
回复
引用 2 楼 bao110908 的回复:
面向对象设计原则以及设计模式,我的建议是:目前先把这些扔了,等你写了五年以上的代码之后,再去研究这些。 至于你现在该学什么,我的建议是:基础 可以看一下下面这些知识点(几年前整理的): 在 Java 中除了最为基础的东西之外,你只要看三样东西就可以了: Java 中有三大支柱,在 java.util.concurrent、java.security、javax.cropty、javax.security 四个包中就占了两个(多线程、安全) 还有一个网络在 java.net、javax.net 中,呵呵 掌握了上面 6 个包及其子包中内容的话,那 Java 水平可以说达到了另一种境界。 PS:三大支柱是我之前给 Java 中多线程、网络和安全取的代号,嘿嘿 这三样中的东西非常多,基本上就是 Java 的核心所在。 多线程(multi-threading and concurrent) 1:关键词:volatile, sychronized 2:传统的线程 API:java.lang.Thread, java.lang.Runnable, java.lang.ThreadGroup, Object#wait, Object#notify, Object#notifyAll 3:JDK 5 并发包(java.util.concurrent)API:线程池、任务执行器、计数信号量、倒计数门闩、并发集合(并发 Map、阻塞队列等)、基于 CPU CAS 指令的原子 API(java.util.concurrent.atomic)、锁 API(java.util.concurrent.lock)和条件对象等。 4:作为个人知识提升,还需要理解诸如自旋锁、分离锁、分拆锁、读写锁等的同步锁策略,以及可重入锁、锁的公平性的意义。以及各种并发锁的算法,比如:Peterson锁、Bakery锁 等等,以及现代 CPU 体系结构 涉及多线程及并发的 API 在 java.lang 中及 java.util.concurrent.* 中。 网络(network communication) 1:阻塞 TCP 通信、阻塞 UDP 通信、组播 2:非阻塞 TCP 通信、非阻塞 UDP 通信 3:客户端通信 API(java.net.URL, java.net.URLConnection 等类库) 涉及网络通信的 API 都在 java.net 和 java.nio.channels 包中。这里的网络已经将 RMI 相关包 java.rmi, javax.rmi 都排除了。 安全(security, cryptography and AAA) 1:Java 加密类库 JCA 2:Java 加密类库扩展 JCE 3:涉及密码学知识点的消息摘要、消息认证码、对称加密、非对称加密、数字签名 4:涉及网络通信证书管理工具(keytool)及 API(PKI、X.509证书) 5:基于 SSL/TLS 的安全网络通信 API(JSSE),包括:密钥库管理、信任库管理、阻塞 SSL 通信和非阻塞 SSL 通信等等 6:Java 认证及授权服务(JAAS)API 涉及安全的东西都在: java.security(JCA、JCE、数字证书,以及 JCE 的 SPI) javax.net(SSL/TLS) javax.security(JAAS) javax.crypto(密码学) keytool 的 JDK 工具
亲,我混了一年了,你说的这些,我一个都不知道。我现在主要就是做web开发这块,就是JSP页面Action交互,再就是做点ajax,页面JS啥的。。。
飏飏一蝶 2015-07-28
  • 打赏
  • 举报
回复
继承多态是为了提高软件的可复用性和可扩展性 个人觉得要学好java除了理解基础外 数据结构,算法,设计模式这些都得懂一些 需要深入的时候再拿资料来深入
日知己所无 2015-07-28
  • 打赏
  • 举报
回复
面向对象和设计模式都是用来降低复杂度的一种手段 封装、继承、多态都是用来降低复杂度的一种手段 我们的不懈努力的目标只有一个,就是:降低软件复杂度 所有符合这一趋势的技术都应该熟练掌握
qqw6789567 2015-07-28
  • 打赏
  • 举报
回复
引用 2 楼 bao110908 的回复:
面向对象设计原则以及设计模式,我的建议是:目前先把这些扔了,等你写了五年以上的代码之后,再去研究这些。 至于你现在该学什么,我的建议是:基础 可以看一下下面这些知识点(几年前整理的): 在 Java 中除了最为基础的东西之外,你只要看三样东西就可以了: Java 中有三大支柱,在 java.util.concurrent、java.security、javax.cropty、javax.security 四个包中就占了两个(多线程、安全) 还有一个网络在 java.net、javax.net 中,呵呵 掌握了上面 6 个包及其子包中内容的话,那 Java 水平可以说达到了另一种境界。 PS:三大支柱是我之前给 Java 中多线程、网络和安全取的代号,嘿嘿 这三样中的东西非常多,基本上就是 Java 的核心所在。 多线程(multi-threading and concurrent) 1:关键词:volatile, sychronized 2:传统的线程 API:java.lang.Thread, java.lang.Runnable, java.lang.ThreadGroup, Object#wait, Object#notify, Object#notifyAll 3:JDK 5 并发包(java.util.concurrent)API:线程池、任务执行器、计数信号量、倒计数门闩、并发集合(并发 Map、阻塞队列等)、基于 CPU CAS 指令的原子 API(java.util.concurrent.atomic)、锁 API(java.util.concurrent.lock)和条件对象等。 4:作为个人知识提升,还需要理解诸如自旋锁、分离锁、分拆锁、读写锁等的同步锁策略,以及可重入锁、锁的公平性的意义。以及各种并发锁的算法,比如:Peterson锁、Bakery锁 等等,以及现代 CPU 体系结构 涉及多线程及并发的 API 在 java.lang 中及 java.util.concurrent.* 中。 网络(network communication) 1:阻塞 TCP 通信、阻塞 UDP 通信、组播 2:非阻塞 TCP 通信、非阻塞 UDP 通信 3:客户端通信 API(java.net.URL, java.net.URLConnection 等类库) 涉及网络通信的 API 都在 java.net 和 java.nio.channels 包中。这里的网络已经将 RMI 相关包 java.rmi, javax.rmi 都排除了。 安全(security, cryptography and AAA) 1:Java 加密类库 JCA 2:Java 加密类库扩展 JCE 3:涉及密码学知识点的消息摘要、消息认证码、对称加密、非对称加密、数字签名 4:涉及网络通信证书管理工具(keytool)及 API(PKI、X.509证书) 5:基于 SSL/TLS 的安全网络通信 API(JSSE),包括:密钥库管理、信任库管理、阻塞 SSL 通信和非阻塞 SSL 通信等等 6:Java 认证及授权服务(JAAS)API 涉及安全的东西都在: java.security(JCA、JCE、数字证书,以及 JCE 的 SPI) javax.net(SSL/TLS) javax.security(JAAS) javax.crypto(密码学) keytool 的 JDK 工具
首先感谢大神的指点! 我们总监给的建议(15年):除了基础外,他说你要再境界上提高,不能老想着敲代码,境界啊!境界!你的境界达到了代码其他都能找到的! 但是和大神一个共同点都是基础,所以现在在看基础,那大神以上说的是基础吗?经验很好很强大! 而且这些东西在现在也很重要,并发和安全那都离不开啊。 那大神以上说的是基础吗???????????
迷林 2015-07-28
  • 打赏
  • 举报
回复
引用 2 楼 bao110908 的回复:
面向对象设计原则以及设计模式,我的建议是:目前先把这些扔了,等你写了五年以上的代码之后,再去研究这些。 至于你现在该学什么,我的建议是:基础 可以看一下下面这些知识点(几年前整理的): 在 Java 中除了最为基础的东西之外,你只要看三样东西就可以了: Java 中有三大支柱,在 java.util.concurrent、java.security、javax.cropty、javax.security 四个包中就占了两个(多线程、安全) 还有一个网络在 java.net、javax.net 中,呵呵 掌握了上面 6 个包及其子包中内容的话,那 Java 水平可以说达到了另一种境界。 PS:三大支柱是我之前给 Java 中多线程、网络和安全取的代号,嘿嘿 这三样中的东西非常多,基本上就是 Java 的核心所在。 多线程(multi-threading and concurrent) 1:关键词:volatile, sychronized 2:传统的线程 API:java.lang.Thread, java.lang.Runnable, java.lang.ThreadGroup, Object#wait, Object#notify, Object#notifyAll 3:JDK 5 并发包(java.util.concurrent)API:线程池、任务执行器、计数信号量、倒计数门闩、并发集合(并发 Map、阻塞队列等)、基于 CPU CAS 指令的原子 API(java.util.concurrent.atomic)、锁 API(java.util.concurrent.lock)和条件对象等。 4:作为个人知识提升,还需要理解诸如自旋锁、分离锁、分拆锁、读写锁等的同步锁策略,以及可重入锁、锁的公平性的意义。以及各种并发锁的算法,比如:Peterson锁、Bakery锁 等等,以及现代 CPU 体系结构 涉及多线程及并发的 API 在 java.lang 中及 java.util.concurrent.* 中。 网络(network communication) 1:阻塞 TCP 通信、阻塞 UDP 通信、组播 2:非阻塞 TCP 通信、非阻塞 UDP 通信 3:客户端通信 API(java.net.URL, java.net.URLConnection 等类库) 涉及网络通信的 API 都在 java.net 和 java.nio.channels 包中。这里的网络已经将 RMI 相关包 java.rmi, javax.rmi 都排除了。 安全(security, cryptography and AAA) 1:Java 加密类库 JCA 2:Java 加密类库扩展 JCE 3:涉及密码学知识点的消息摘要、消息认证码、对称加密、非对称加密、数字签名 4:涉及网络通信证书管理工具(keytool)及 API(PKI、X.509证书) 5:基于 SSL/TLS 的安全网络通信 API(JSSE),包括:密钥库管理、信任库管理、阻塞 SSL 通信和非阻塞 SSL 通信等等 6:Java 认证及授权服务(JAAS)API 涉及安全的东西都在: java.security(JCA、JCE、数字证书,以及 JCE 的 SPI) javax.net(SSL/TLS) javax.security(JAAS) javax.crypto(密码学) keytool 的 JDK 工具
受教了,很不错的经验,楼主可以结贴了
  • 打赏
  • 举报
回复
面向对象设计原则以及设计模式,我的建议是:目前先把这些扔了,等你写了五年以上的代码之后,再去研究这些。 至于你现在该学什么,我的建议是:基础 可以看一下下面这些知识点(几年前整理的): 在 Java 中除了最为基础的东西之外,你只要看三样东西就可以了: Java 中有三大支柱,在 java.util.concurrent、java.security、javax.cropty、javax.security 四个包中就占了两个(多线程、安全) 还有一个网络在 java.net、javax.net 中,呵呵 掌握了上面 6 个包及其子包中内容的话,那 Java 水平可以说达到了另一种境界。 PS:三大支柱是我之前给 Java 中多线程、网络和安全取的代号,嘿嘿 这三样中的东西非常多,基本上就是 Java 的核心所在。 多线程(multi-threading and concurrent) 1:关键词:volatile, sychronized 2:传统的线程 API:java.lang.Thread, java.lang.Runnable, java.lang.ThreadGroup, Object#wait, Object#notify, Object#notifyAll 3:JDK 5 并发包(java.util.concurrent)API:线程池、任务执行器、计数信号量、倒计数门闩、并发集合(并发 Map、阻塞队列等)、基于 CPU CAS 指令的原子 API(java.util.concurrent.atomic)、锁 API(java.util.concurrent.lock)和条件对象等。 4:作为个人知识提升,还需要理解诸如自旋锁、分离锁、分拆锁、读写锁等的同步锁策略,以及可重入锁、锁的公平性的意义。以及各种并发锁的算法,比如:Peterson锁、Bakery锁 等等,以及现代 CPU 体系结构 涉及多线程及并发的 API 在 java.lang 中及 java.util.concurrent.* 中。 网络(network communication) 1:阻塞 TCP 通信、阻塞 UDP 通信、组播 2:非阻塞 TCP 通信、非阻塞 UDP 通信 3:客户端通信 API(java.net.URL, java.net.URLConnection 等类库) 涉及网络通信的 API 都在 java.net 和 java.nio.channels 包中。这里的网络已经将 RMI 相关包 java.rmi, javax.rmi 都排除了。 安全(security, cryptography and AAA) 1:Java 加密类库 JCA 2:Java 加密类库扩展 JCE 3:涉及密码学知识点的消息摘要、消息认证码、对称加密、非对称加密、数字签名 4:涉及网络通信证书管理工具(keytool)及 API(PKI、X.509证书) 5:基于 SSL/TLS 的安全网络通信 API(JSSE),包括:密钥库管理、信任库管理、阻塞 SSL 通信和非阻塞 SSL 通信等等 6:Java 认证及授权服务(JAAS)API 涉及安全的东西都在: java.security(JCA、JCE、数字证书,以及 JCE 的 SPI) javax.net(SSL/TLS) javax.security(JAAS) javax.crypto(密码学) keytool 的 JDK 工具
nj_dobetter 2015-07-28
  • 打赏
  • 举报
回复
面向对象、封装、多态在实际软件项目中是很自然实施的,现在做软件跟盖房子、做组装家具类似。只有模块化,才能减低难度、提高准确率。 你想一个main函数把问题解决了,对于简单的问题还行,对于复杂的事情,你写出的代码就很难理解、很难在测试前推理验证、后期也很难修改和维护。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧