失效链接处理 |
JAVA自我梳理 PDF 下载
本站整理下载:
相关截图:
![]()
主要内容:
Java 与 C++语法差异(只关注 Java)
1. this:java 为关键字,用.调用类中的其它数据或方法,效果和 C++的 this
指针相同
2. main 方法:main 所在的类的所有私有成员,main 方法都能访问;可以
main 方法中创建本类的对象,这就和其它成员方法一样;同样如果是静
态方法/数据可以直接调用,但非静态不可(main 本身是 static,故而只能
调用 static;承载 main 方法的类要特别注意)!另外跨类就和 C++一样了
3. 抽象类相关概念:见下专题一)
4. 布尔型数据:boolean 不能由其他任何类型表示,只有 true 跟 false
5. toString:在标准化输出某一对象时自动调用,并输出重写的 toString 的返
回值。参数列表必须为空,否则不能覆盖而是形成了重载,将不具有
toString 自动调用功能。
6. 没有地址传递的概念,所有调用都是值传递(基本数据类型)或者引用传
递(其它所有类型)
7. 类的静态成员:Java 通过类名.调用,C++通过类名::调用(Java 中双冒号
操作符有另外的功能,即用来构造方法的闭包)
8. 无参对象(引用)定义:Java 不需要考虑括号的有无问题;C++无参对象
无括号。
9. 运算符重载:Java 不支持。但是,一方面可以用“==”比较引用的对象
是否完全相等(比较地址),另一方面还以用“+”实现 String 的 append
方法的功能,这些都可以看做是语法糖而非运算符重载。
10. 泛型:类同 C++的模板,但有以下区别:①无 template 关键字②只能接
受引用类型作为类型参数(这意味着可以定义 List<Integer>,但是不可以
定义 List<int>)③尖括号通常放在方法名前,而 C++则是放在函数名后
(类定义对象是一样的都放在后面)④译器仅对类型参数进行擦除和替
换。比如 ArrayList<Integer> 和 ArrayList<String> 的对象共享相同的类
|