Java 程序基本结构
一个 *.java 文件中,包含内容如下:
- 包定义: 可选;
package packageName;
- 类定义:一个包含 main 方法的 public 类(类名与 *.java 文件名相同)+ n 个其他类;
public class ClassName{
public static void main(String[] s){}
}
导入类使用 import 语句,import package.ClassName
Java 中的数据类型
基本数据类型
基本类型共有八种,六种数值类型 + 字符类型 + 布尔类型,如下所示。
class ElementType{
byte b = 3; // 一字节,-127 ~ 128
int integer = 5; // 四字节,整型
short shortInt = 8; // 两字节,短整型
long LongInt = 10; // 八字节,长整型
float f = 8.3f; // 四字节,单精度浮点数,需‘f' 或 ’F' 后缀
double d = 3.5; // 八字节,双精度浮点数
char c = 'a'; // 两字节,字符类型,需要单引号
boolean bool = true; // 布尔型,取值为 true 或 false
}
引用数据类型
引用数据类型是对基本数据类型的封装,除基本数据类型外其他均为引用数据类型,典型的有 Integet
、String
等。
常用集合类
面向对象
类
使用 class
关键字来定义一个类, 类中包含变量和方法,变量用来表示类的属性,方法即函数,用来对变量进行一些处理。变量和方法都分为静态方法和实例方法,静态变量/方法 与实例变量/方法 相比,多了 static
关键字修饰,关于 static
关键字,解释如下。
static
变量/方法 可以直接用 ClassName 访问, 实例 变量/方法 必须new
一个对象后才能访问,使用实例对象访问静态 变量/方法 是不推荐的。static
变量只分配一次内存,实例变量每new
一个对象分配一次。static
方法只能访问static
变量,不能访问非static
变量。static
方法中不能使用this
、super
关键字,因为this
代表实例对象本身。static
方法不能是 Abstract 的。
class Student{
String name; // 名字
String id; // 学号
public Student(String name, String id){
this.name = name;
this.id = id;
}
public void setName(String name){
this.name = name;
}
public void setId(String id){
this.id = id;
}
public String getName(){
return this.name;
}
public String getId(){
return this.id;
}
}
上面的例子中 Student
有两个成员变量,一个构造器,四个实例方法。与类同名的 Student
方法就是构造器,name
和 id
分别表示学生的姓名和学号属性,四个类方法分别对这两个属性进行设置和查询。
public、protect、default 和 private
这几个关键字都是对访问权限的限制,具体的访问权限如下表所示。
关键字 \ 作用范围 | 当前类 | 当前包 | 子类 | 外部包 |
---|---|---|---|---|
public | √ | √ | √ | √ |
protect | √ | √ | √ | × |
default(也叫friendly) | √ | √ | × | × |
private | √ | × | × | × |