A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© mortonnnn 中级黑马   /  2015-7-19 07:11  /  1058 人查看  /  25 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

对象:属性+方法


使用面向对象的原因:
1)符合人类看待事物的一般规律
对象的方法的实现细节是屏蔽的
分析对象主要从分析方法开始
类是对象的抽象
2)采用面向对象方法可以使系统各部分各司其职
对象的条件:高内聚,低耦合

面向过程:由过程,步骤,函数组成,以过程为核心
面向对象:一对象为中心,先开发类,得到对象,通过对象之间的相互通信实现功能
在面向对象编程中,除了简单数据类型,就是对象类型


对于方法的修饰词,子类方法要比父类的方法范围更加的宽泛

关于多态的补充:

编译时类型一定要为运行时类型的父类(或者同类型)
Animal a = new Dog()---对象a的编译时类型为Animal,运行时的类型为dog


一般静态代码块被用来初始化静态成员

在java中利用public static final的组合方式对常量进行标识(固定格式)

如果要一个方法前有修饰词private和static,则系统会自动在前面加上final。即private和static方法默认为final方法


为了实现多态,那么父类必须有定义,而父类并不实现,留给子类去实现,此时可将父类定义成abstract类---》到这儿,我感觉多态就和接口有点关系。。。

abstract和static不同共存,因为abstract为了生效必须覆盖,而static不可被覆盖

Object是java体系中的所有类的父类(直接或间接)
有三个通用方法:
1)finalized()
2)toString()
3)equal()

String字符串类有一点特殊,jvm中有一个字符串池。。。如果没有找到该字符串,才会将此存到字符串池中

String A= new String("freosa");
String B =   new String("freosa");
System.out.print(A==B);
(或者System.out.print(A.equals(B));

得到false
因为a,b在字符串池中地址不同了

==在任何时候都是比较地址

25 个回复

倒序浏览
谢谢那,么耐心写那么多
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
现在的编程越来越向人工智能转变,,什么时候出了一个编程方式,完全按照人的思想去写,java就被取代了
回复 使用道具 举报
不错,不错,学习了
回复 使用道具 举报

谢谢回复。。。
回复 使用道具 举报
白马程序猿 发表于 2015-7-19 09:45
不错,不错,学习了

谢谢回复啦
回复 使用道具 举报

客气啊,学习总结是好事。
回复 使用道具 举报
李玉 来自手机 中级黑马 2015-7-21 09:23:00
9#
楼主辛苦了,基础很重要。
回复 使用道具 举报
Apol 中级黑马 2015-7-21 16:20:13
10#
总结的不错!
回复 使用道具 举报
感谢分享
回复 使用道具 举报
李玉 发表于 2015-7-21 09:23
楼主辛苦了,基础很重要。

是的嘿嘿
回复 使用道具 举报

一起进步哈哈哈哈
回复 使用道具 举报
只为学习。。。
回复 使用道具 举报
感谢分享
回复 使用道具 举报
0618张军 发表于 2015-7-19 09:43
现在的编程越来越向人工智能转变,,什么时候出了一个编程方式,完全按照人的思想去写,java就被取代了 ...

那就是人工智能了,无所谓取不取代Java,就像咱们程序猿,上级给你一个任务,你需要去完成,而这个工作者变成了执行者。不过,java迟早要被替代,效率太低了
回复 使用道具 举报
感谢分享
回复 使用道具 举报
谢谢啊,真的很认真,学到了
回复 使用道具 举报
胡家兵 发表于 2015-7-21 22:17
谢谢啊,真的很认真,学到了

哈哈,大家共同进步啦
回复 使用道具 举报

哈哈客气客气
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马