JAVA面向对象
2021-04-21 21:00:59 3 举报
AI智能生成
java面向对象
作者其他创作
大纲/内容
面向对象的特征
抽象
接口Interface , 把可复用的过程方法抽象出来
继承
派生类可以从它的基类那里继承方法和实例变量,并且可以在这基础上修改或增加新的方法
封装
封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。
多态性
很好的解决了应用程序函数同名问题。
接口
j类不支持多继承, 所以接口具有更高的灵活性, 一个类可以实现多个接口(所有的接口方法都在子类中实现)
接口中声明的变量默认都是final的
接口中的成员函数默认是public的
接口不可以被实例化
抽象类
抽象类可以在不提供接口方法实现的情况下实现接口
抽象类也不可以被实例化
构造函数
当对象创建时, 构造函数会被调用.
Java编译器会为这个类创建一个默认的构造函数
Java中构造函数重载和方法重载很相似。一个类可以创建多个构造函数。每一个构造函数必须有它自己唯一的参数列表。
重载/重写
重载发生在同一个类里面两个或者是多个方法的方法名相同但是参数不同的情况
返回值不同不作为重载区分的标准, 但它返回值可以不同
重写是子类重新定义了父类的方法(方法名,参数列表和返回类型相同)
JAVA参数传递
java旳参数传递是值传递, 只是参数值的类型不同
如果参数值是基本类型, 则copy一份到操作数栈中 -- 不会影响到上一个栈中对象的赋值
如果参数值是引用类型, 则copy该引用类型的实际指向对象的指针到操作数栈中 -- 假如方法运行中改变了该指针的对象, 会影响到上一个栈中对象的赋值
关键字
final
常量, 不可变类型, 无法被修改
final方法, 无法被子类修改
final常量, 内存分配在方法区, 保持旳是一个指向堆中对象的指针
static
静态变量, 可以不需要对象实例直接通过类定义调用
静态方法, 多个实例共享一个方法
Object对象
clone()
equals()
hashCode()
finalize()
notify()唤醒
wait(long timeout)等待
0 条评论
下一页