java面向对象
来源:互联网 发布:和平网络电视怎么用 编辑:程序博客网 时间:2024/05/16 05:11
Alan Kay(艾伦凯):天才计算机大师阿伦凯,他是Smalltalk面向对象编程环境语言的发明人之一,
也是面向对象编程思想的创始人之一,他还是笔记本电脑最早的构想者和现代Windows GUI的最初尝试者。
Alan Kay(艾伦凯)总结了面向对象的程序设计五个基本特征:
1)万物皆对象。
2)程序是对象的集合,它们通过发送消息来告知彼此所要做的。
3)每个对象都有自己邮其他对象所构成的存储。
4)每个对象都拥有其类型。
5)某一特定类型的所有对象都可以接收同样的消息。
对象的创建和生命周期:Java内部采用动态内存分配方式,每当想要创建新对象是,就要使用new关键字来构建此对象的动态实例。
生命周期,通俗讲就是从生到死的过程,java内部提供了被称为垃圾回收机制,她可以自动发现对象何时不再被使用,并继续销毁它。
更重要的是垃圾回收器可以避免暗藏的内存泄漏问题。垃圾回收器知道对象何时不再被使用,并自动释放对象占用的内存。
1.java面向对象特征有哪些?
答:众所周知,Java中的面向对象的三大基本特征是:【封装】,【继承】,多态】
封装: 对象有一个明确的边界,对象各司其职,
1.1)属性(私有private,提供set,get方法)。
1.2)方法:公开或私有public、private。
1.3)方法声明(公开),方法实现(隐藏)。
继承:
1.1):子类继承父类的共性,例如:狗继承动物(dog extends animal{}),关键字extends.
1.2):在java中一个类最多最能有一个直接的父类,单继承(简单性,树状结构),c++中是单继承。
1.3):java中药实现多继承,需要通过接口来实现。
1.4):父类中所有的属性和方法都能继承给子类,私有方法除外。
多态:
1.1):父类的引用指向子类的实例,例如:Animal a = new Dog();
原则:对象类型不变,引用调用其类型中定义的方法。
2.接口和抽象类的区别是什么?
答:接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,
而抽象类是可以有私有方法或私有变量的,另外,实现接口的一定要实现接口里定义的所有方法,
而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,
然后是抽象类实现接口,最后才到具体类实现。还有,接口可以实现多重继承,而一个类只能继承一个超类,
但可以通过继承多个接口实现多重继承,
3.final,finally,finalize的区别?
答:
final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,
不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。
将变量或方法声明为final,可以保证它们在使用中不被改变。
被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。
被声明为final的方法也同样只能使用,不能重载。
finally—再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
finalize—方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。
这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,
因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。
finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。
- java----Java面向对象
- java----Java面向对象
- java----Java面向对象
- java----Java面向对象
- java----Java面向对象
- java----Java面向对象
- 【java】java面向对象
- 【Java】Java面向对象
- java面向对象(一) 了解面向对象
- Java面向对象概述
- java面向对象
- JAVA面向对象
- JAVA 面向对象??
- Java面向对象特性
- Java面向对象特性
- java基础 面向对象
- Java面向对象程序设计
- java面向对象
- 30 分钟 git 命令入门到放弃
- LIBSVM学习(二)在linux环境下安装LIBSVM
- Android BGABadgeView:BGABadgeLinearLayout以整体线性布局作为BadgeView(3)
- 【Netty4.x】Unity客户端与Netty服务器的网络通信(一)
- 开发时常用的数学函数
- java面向对象
- 最短路+记录路径+变形!!
- 为导航栏创建下拉菜单
- MATLAB“out of memory"的一点总结
- 剑指offer----从上到下打印二叉树----java实现
- 解决SQL Server 2008 R2安装过程中提示Could not open key的解决方法
- intellij引入jar包怎么加载jar包的源代码
- 编译内核是出现:arch/arm/mm/tlb-v4wbi.S:64:error: too many positional arguments
- PAT L2-001. 紧急救援(扩展dijkstra)