首页 / JAVA / Java编程思想白话一:对象导论
Java编程思想白话一:对象导论
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java编程思想白话一:对象导论,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2507字,纯文字阅读大概需要4分钟。
内容图文
面向对象编程,是把事物抽象为一个一个的对象,按对象交互去设计程序。而不是按逻辑步骤,一步一步的写代码。比如开日光灯,过程式编程就是按电路逻辑去码代码,面向对象把日光灯抽象为一个对象,日光灯.开()。这个“开”,就是对象“日光灯”提供的服务,称之为接口。开日光灯房间亮起来,为我服务。
类(class),是指对象的抽象。灯?什么灯?日光灯。灯就是类,日光灯,就是具体的对象实例。
对象里面存储着有它的内部数据。要想访问这些数据,Java提供了4种级别的权限:
public:公开的
private:私有的
protected:允许继承者使用
默认访问权限:也叫包访问权限,也就是同一个文件夹内共享
protected提到了继承,这个继承,就是继承财产的意思。B继承A,那就拥有了A的财产。当然,A中private的东西是继承不了的。
在Java中,所有的类都继承于一个始祖,那就是Object。万物皆对象,Everything is Object。
面向对象除了继承,还有一个重要的概念,就是多态。
多态是指同一父类可以拥有多种形态的子类。
比如
void doSomething(Shape shape) {
shape.erase();
// ...
shape.draw();
}
Circle circle = new Circle();
Triangle triangle = new Triangle();
Line line = new Line();
doSomething(circle);
doSomething(triangle);
doSomething(line);
看到了吧,doSomething的形参是Shape,却可以分别传入circle, triangle, line。多态是通过动态绑定来实现的。
Java编译器在编译doSomething()的代码时,期望它的编译结果是调用基类Shape的erase()和draw(),因为多态动态绑定,在传入circle的时候,发生了向上转型,也就是把circle看成是Shape的一种形态,那么能对Shape的操作,也能够对circle操作,于是就会调用circle.erase()。
这样,代码就简洁许多,不必要为了适配circle, triangle, line,添加针对性的处理代码,只需要Shape就ok了。
对象可以存放在容器中。包括List,Map,Set,队列,树,堆栈等。说到List,就不得不提ArrayList和LinkedList了,前者随机访问效率高,后者增删效率高。面试经常会考到哦。
容器也不是没有规定的,比如矿泉水瓶装开水,那不得烫成一团么。在Java中,这个规定叫做,参数化类型。长这样:
ArrayList<Shape> shapes = new ArrayList<Shape>();
<>尖括号里面的,就规定了这个ArrayList容器,存取的是Shape类型的对象。
Java的对象,从new开始,不需要像C++一样,需要自己做“垃圾分类”,Java有非常强大的垃圾回收机制,自动发现对象何时不再被使用,分分钟消灭它。
看Java代码,总能看到try catch,满屏都是认识不认识的Exception。这是因为Java一开始就内置了异常处理,而且强制必须使用它。Java很严谨,测试很喜欢。
并发编程,多多少少都听说过,也就是多段代码同时跑,java是通过线程来实现的。
Java用的最多的领域还是web。web就是一个客户端/服务器系统。也就是常说的前端和后台。Java主要用于后台。
最后,Java不是适用于所有人的。需要根据情况来选择。公司级别一般用Java,个人编程推荐python。
具体可以参考博客编程语言选择:主java副python。哈哈哈。
内容总结
以上是互联网集市为您收集整理的Java编程思想白话一:对象导论全部内容,希望文章能够帮你解决Java编程思想白话一:对象导论所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。