C++是面向对象的吗?
好像是也不是。
Java 没有指针吗?
好像实际上也是指针。
C++ 与Java 有那么多相似的地方。差异也不少。作为一个C++程序员(菜鸟),要如何快速的有C++基础出发学习Java呢?私以为姑且可以整理一波,有可能变成拼音标注英语的笑果,但也无妨, 权当做笔记好了,坑先挖着。
-
面向对象
Java是面向对象的语言。
C++可以实现面向对象编程。但不仅面向对象,既可以面向对象,还可以面向过程,面向函数式编程,协议编程等等,C++更像一个四不像。
2.指针
Java 没有提供指针类型。
C++兼容C,提供指针类型。指针非常灵活,是把双刃剑,倚天剑的剑。
3.基本数据
C++的整型随机器的位数而变化,但是Java不会。
Java的基本数据类型:
byte,short,int,long :8 bits,16 bits,32 bits
float:单精度,32 bits;double,双精度,64位
char:16 bits Unicode。
boolean 值只能是 true 和 false
4.代码重用
Java没有操作符重载,“==” 是比较对象指针。
5.内存管理
Java 有GC机制,相当于都是智能指针,但是要留意延迟问题。
6.类
访问控制符有 private、default、protected、public。
public (公有的):可跨包。
protected (受保护的):当前包内可用
abstract (声明抽象):public abstract class C(){}介于类与接口中间,可以有,也可以没有已经实现的方法体
implement (实现):用于类或接口,实现接口public class A interface B(){}
extends (继承):用于类继承类public class A extends D(){}
interface(接口)有时必须从几个类中派生出一个子类,继承它们所有的属性和方法。但是,Java不支持多重继承。有了接口,就可以得到多重继承的效果,Java类可以实现多个接口。
final:被修饰类,不能被继承;被修饰方法,不能被修改;被修饰的基本变量不能再修改,引用类型不能只能其他实例;
未完待续。。。