14 基础知识
Posted cathy_mu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了14 基础知识相关的知识,希望对你有一定的参考价值。
重载就是同样的一个方法能够根据输入数据的不同,做出不同的处理
重写就是当子类继承自父类的相同方法,输入数据一样,但要做出有别于父类的响应时,你就要覆盖父类方法
java和c++区别
- 都面向对象,支持封装,继承,和多态
- java不提供指针直接访问内存,程序内存更加安全
- java类是单继承的,c++类可以多继承,java接口可以多继承
- java有自动内存管理垃圾回收机制,不需要手动释放无用内存
- c++同时支持方法重载和操作符重载,java只支持方法重载
java中只有值传递,方法得到的是所有参数值的拷贝,不能修改传递给他的任何参数变量的内容。
对象变量就不一样了。
成员变量和局部变量的区别
- 成员变量属于类,会被赋予初值,可以被public static等修饰符修饰,属于对象,生命周期随对象生死,存在堆内存。
- 局部变量是代码块中定义的,不会被赋予初值,只能被final修饰,生命周期随方法执行生死,存在栈内存。
继承
- 子类继承父类所有的属性和方法
- 子类可以有自己的属性和方法
- 子类可以重写父类的属性和方法
多态
- 引用类型变量发出的方法调用的到底是哪个类的方法,在程序运行期间才能确定
- 多态不能调用“只在子类存在,在父类不存在的方法”
- 如果子类覆写了父类的方法,执行的是子类的方法,否则执行的是父类的方法
string为什么是不可变得
- string中使用final修饰字符数组来保存字符串,private final char[] value,是常量,线程安全。
- stringBuilder和stringBuffer 也使用字符数组但是没有用final修饰,所以可变。stringBuffer对方法加了同步锁,线程安全stringBuilder非线程安全。
以上是关于14 基础知识的主要内容,如果未能解决你的问题,请参考以下文章