共计 1829 个字符,预计需要花费 5 分钟才能阅读完成。
类和对象
类文件后缀:.java,
包(namespace):我的项目上右键创立
package _17bang.CD.Yz;
引入(using),留神 import 的是一个“类”,不是名称空间
import _17bang.YZ.Student;
但能够应用通配符 *,比方:
import _17bang.YZ.*;
没有 partial 类
拜访修饰符:没有关键字 internal(不能显式申明,默认即可,package 中可见)
一个类文件只能有一个 public 类
static:能够由对象调用(只 warning 不报错 )
援用类型和值类型
其余类成员
快捷键生成:alt+shift+s,
构造函数间调用:
public Student(int age) {this(); }
没有属性,只有 getter 和 setter。所以也没有主动属性等一系列相干的语法。
private int age; public int getAge() { return age;} public void setAge(int age) {this.age = age;}
没有 readonly 关键字
final:润饰变量 / 字段时,等同于 const
没有索引器
析构函数
protected void finalize() {}
动态和实例
没有 static 构造函数
顶级类不能 static,外部类能够
继承
应用关键字 extends 示意继承,super 示意基类
public class OnlineStudent extends Student {public OnlineStudent(int age) {super(age); } }
final:润饰类 / 办法,同 sealed
instanceof:同 is,没有 as
Person fg = new Teacher(); System.out.println(fg instanceof Person); System.out.println(fg instanceof Teacher);
多态
没有 virtual 和 override 关键字,默认 override(可用 @Override 标记)
没有 new 的 hide
形象办法和接口
没有接口的显式(explicit)实现
构造和日期
没有 struct
日期应用 Calendar 类:
Calendar date = Calendar.getInstance(); // 不能间接 new 出 date.set(2002, 8, 15); date.add(Calendar.YEAR, 2); System.out.println(date.get(Calendar.DATE));
格式化日期用 DateFormat 类:
System.out.println(DateFormat.getDateInstance(DateFormat.FULL, Locale.CHINA).format(new Date()));
枚举和位运算
不能自行设置枚举的底层数据
不能在枚举和整数类型间转换
枚举的罕用办法:
Grade[] grades = Grade.values(); Grade result = Grade.valueOf(“Failed”); int index = Grade.Failed.ordinal(); System.out.println(“………..” + index);
Object:万物皆对象
没有值 C# 简单的 struct/class 继承体系
反射
取得类型信息:
- getClass(),相似于 getType()
- class 属性,相似于 typeof
Class c1 = o.getClass(); Class c2 = Object.class;
正文(Annotation)
应用 @ 符号
@Override protected void Learn(double score) {super.Learn(score); }
申明,关键字是 @interface
import java.lang.annotation.*; public @interface Override {}
罕用标注(Annotation)
- @Override:查看 / 确保以后办法是 override/ 实现的父类 / 接口办法
- @Deprecated:标记“过期”
- @Target:指明 Annotation 能用于哪些指标元素
- @Inherited
String 和 StringBuilder
没有内插,可用 String.format() 代替
System.out.println(String.format(“ 源栈欢送你,%s 同学,你的问题是 %f 分 ”, “ 周丁浩 ”, 98.5));