[修饰符] class 类名 {
0-N 成员变量(字段) // 描述类具有的特性,对象的状态
0-N 构造器定义
0-N 方法 // 描述类具有的功能,对象的行为}
// 定义一个 Person 类
class Person {
String name;
void coding() {}
// 测试类
class PersonDemo {
public static void main(String[] args) {
Person p = new Person(); // 创建一个对象 p
p.name = "Admin";
p.coding(); }
}
static
修饰的成员(
类成员
:类变量、类方法、静态初始化块、静态内部类)
无static
修饰的成员(实例成员:实例变量、实例方法、普通初始化块、实例内部类)
static 修饰的成员(属于类)及构造器不能直接访问没有 static 修饰的成员(属于对象)
局部变量不属于任何类或实例,不能使用 static 修饰;不能修饰构造器
static 修饰的方法中不能使用 this 或 super 引用(static 强调的是类,this 和 super 强调的是对象)
当一个对象创建之后,JVM 会分配一个引用自身的引用:this
this([参数]);
(必须作为构造方法中的第一条语句),一般地,是少参数的构造器调用多参数的构造器(将功能都写在多参数的构造器中)编译器在编译源文件的时候产生的缺省的构造器
public class Person {
private String name;
private int age; /* 默认构造器(编译器产生的)
public Person() {} */
// 创建对象,初始化 name p
ublic Person(String name) { this(name, 0); }
// 创建对象,初始化 name 和 age
public Person(String name, int age) {
this.name = name;
this.age = age; }
// 此处省略 name 和 age 的 setter 和 getter 方法}
class PersonDemo {
public static void main(String[] args) {
Person p = new Person("Admin", 28);
// 创建对象 p,并初始化
}
}
private
修饰(私有化),拥有实现细节的方法使用 private
修饰,一般的方法使用 public
修饰public class Person {
private String name; // 字段使用 private 私有
private boolean man; // 提供 public 修饰的 getter、setter 方法访问本类中的私有字段
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isMan() {
return man;
}
public void setMan(boolean man) {
this.man = man;
}
}
class PersonDemo {
public static void main(String[] args) {
Person p = new Person; // 通过无参数构造器创建对象 p
p.setName("Sdky");
p.setMan(true);
}
}
// package 包名.子包名.子子包;// 必须把该语句作为 Java 文件中的第一条非注释性语句package com.example.hello;
import java.util.Arrays; // 导入 java.util 包下的 Arrays 类import java.util.*; // 导入 java.util 包下所有被当前类使用到的类
static
成员(语法糖),但无法导入与 java.lang.Object 类中的方法名相同的方法,如 toString,equals// import static 类的全限定名.该类中的 static 成员名;
import static java.util.Arrays.sort;import static java.util.Arrays.*;