方法
field ,这个不知道是啥
eg: Person 定义2个field
class Person{
public String name;//可以对外暴露
public int age;
}
class Person{
private String name;//不对外暴露 -- 需要调用setName()方法
private int age;//不对外暴露
}
方法
public void zljmethod(String...names){//可变参数f};
this变量,方法内部隐含。始终指向当前实例,如果没有冲突可以省略,如果和局部变量重名必须加上。
构造方法
方法重载
方法名字一样,参数不同。
继承,同OC
多态,方法调用,取决于运行时期实际类型的方法。
final,修饰的方法不可以被子类重写。修饰的类不可被继承。
抽象类 -- abstract 修饰
abstract class Person{
public abstract void run();
}
接口:
interface :比抽象类还要抽象的纯抽象接口,不能有字段,方法默认 public abstract !
interface Person{
void run();
String getName();
}
当一个局的class去实现一个interface 需要用关键字 implements 。
一个类只能继承自另一个类,但是可以实现多个interface ,
class Student implemens Person, Hello{}
接口继承:使用extends
静态字段和静态方法
class Person{
public String name;
public int age;
public static int number ;//定义静态字段number -- 所有实例共享该字段。
}
static 修饰的方法为静态方法。
class Person {
pubic static int number;
public static void setNumber(int value){ //静态方法
number = value;
}
}
public class Main{
public static void main(String[] args){
Person.setNumber(99);//调用静态方法
}
}
作用域
public / protected / private 可以限定访问作用域。
public 修饰的class / interface 可以被其他任何类访问,
private ,私有
final: 类不被继承,方法不被重写,局部变量禁止重新赋值
classpath和jar
classpath jvm用到的一个环境变量,指示JVM如何搜索class,
jar包