学习内容

(1)类,字段,方法

字段又称为域,域变量,属性,成员变量

字段是用变量来表示的,方法是用函数来表示的

(2)构造方法

用来初始化该类的一个新对象(new)

构造方法和类名同名,不写返回数据类型

Person(String n,int a){

    name = n;

    age = a;

}

(3)默认构造方法

一般情况,类有一个至多个构造方法;

若没有定义任何构造方法,系统会自动产生一个构造方法,称为默认构造方法(不带参数方法体为空)

(4)使用对象

访问字段或方法,需要算符  “.”

Person p = new Person();

System.out.println(p.name);

(5)this的使用

方法及构造方法中,使用this访问字段及方法

void Hello(){

    System.out.println("Hello! My name is" + name);

}

void Hello(){

    System.out.println("Hello! My name is" + this.name);

}

这两种的含义是相同的。

this还可以解决局部变量同名的问题

Person(int age,String name){

    this.age = age;

    this.name = name;

}  //this.age表示域变量,age表示参数变量

构造方法中,可以用this来调用另一构造方法,但这条调用语句必须放在第一句。

class Person {
 String name;
 int age;
 Person( String n, int a ){
  name = n;
  age = a;
 }
 Person( String n ){
  name = n;
  age = 0;
 }
 Person( int age, String name )
 {
  this.age = age;
  this.name = name;
 }
 Person(  ){
  this( 0, "" );
 }
 boolean isOlderThan( int anAge ){
  return this.age > anAge;
 }
 void sayHello(){
  System.out.println("Hello! My name is " + name );
 }
 void sayHello( Person another ){
  System.out.println("Hello," + another.name
   + "! My name is " + name );
 }
 public static void main(String[] args)
 {
  Person p = new Person("Zhang San", 18);
  Person p2 = new Person("Wang Wu", 20 );
  p.sayHello();
  p.sayHello(p2);
 }
}
 

(6)类的继承

Java一个类只能有一个直接父类

子类继承父类可以修改父类的状态或重载父类的行为,也已添加新的状态

派生子类

Java中的继承是通过exteneds关键字实现的

class Student extends Person{

    ......

}

若没有extends,则默认为java.lang.Object