class
Java是面向对象的的语言,万物皆对象,类就以class来定义的。
public class Animals{
} //定义一个动物类
class Cat{
} //定义一个猫类
注意:在一个类中,可以定义多个类,但只能有一个public修饰符修饰的类。
public class Test{
}
class Test1{
}
class Test2{
}
public
public称为控制权限修饰符,还有private、default(默认)、protected。
作用:授权该程序,使外部的程序能够访问。
使用:类、成员变量、方法。
void class People{
} //用于类 defalut(默认)
public class Person{
//用于类
private int age; //用于成员变量
String name;
public void setAge(int age){
//用于方法
this.age = age;
}
}
控制权限的大小: public > protected > default(默认) > private
public | protected | default(默认) | private | |
---|---|---|---|---|
同个类 | 可以 | 可以 | 可以 | 可以 |
子孙类 | 可以 | 可以 | 可以 | 不可以 |
同个包 | 可以 | 可以 | 不可以 | 不可以 |
其他包 | 可以 | 不可以 | 不可以 | 不可以 |
注意:类的存在是为了创建对象来使用相应的东西,而private修饰的类无法被外部访问,那么创建了对象,也毫无意义。同理,protect修饰的类能被子类、本包里的类使用,意义也不大。所以修饰类的只有public和default(默认)。
this
是什么?
显然,本意是"这个"的意思,在Java中代表的是当前的对象。
怎么用?
1.用于成员变量:
public class People{
String name;
public void setName(String name){
this.name = name; //this.name 代表的是该对象的name属性
}
}
2.用于构造方法里:
public class People{
int age;
public Test(){
//无参构造
this(21); //通过无参构造调用有参构造,要写在第一行。
}
public Test(int age){
//有参构造
this.age = age;
}
}
注意:
一、this只能在实例方法,不能在静态方法里。因为静态方法不需要对象就能调用静态方法。而实例方法需要对象才能调用,也就是this。
二、this和super不能共存。
super
是什么?
super是继承的象征,有继承说明有super。Java中所有的类都默认继承了Object类,也就是说每一个类都有super的存在。
怎么用?
1.用于访问父类的成员变量:super.成员变量;
public class Animal{
String name = "猫";
}
class Cat extends Animal{
String name;
public Cat(){
name = super.name; //将父类Animal的name赋值给Cat的name
}
}
2.用于调用父类的构造方法:super();
public class Animal{
String name;
public Animal