定义类:
类是一群对象方法的抽象集合,比如人类是一个类,而人则是人类的实例,实实在在的东西,人类则是一个抽象的说法,人的行为则是方法。
一个源文件里可以定义多个类,但只能有一个类使用public修饰符修饰,因为java文件名必须与public修饰的类名相同,所以一个源文件当中只允许出现一个public 修饰的类
类的成员变量:
类的成员变量直接在类体里面定义,不要定义在方法体内,否则就成为了局部变量。
静态成员变量:使用static修饰的成员变量则属于静态变量,静态变量属于该类,并不属于类的某个实例,因此静态变量也叫类变量。
变量的调用:静态变量直接使用类名为前缀调用,成员变量则需要创建该类的一个对象,然后通过对象进行调用。
需要指出的是,在同一个类中,虽然可直接调用变量,但要注意的是,静态成员无法直接访问非静态成员,反之,非静态也无法直接访问静态,静态访问非 静态需要先创建一个该类的实例,非静态调用则需要加上类名前缀
类的方法体:
方法就相当于一个行为,方法体里面可包含任何可执行语句,程序的各种行为就是通过方法来实现的。
静态方法定义:同样在方法体前的修饰符里添加static关键,则该方法属于该类,也称类方法,调用方法同类变量一样。
非静态方法定义:与静态没什么大的区别,去掉static就行。
注:在java里面永远不允许静态成员直接访问非静态成员。
this关键字用法:
this关键字用于指向引用的对象,谁调用了该方法那么this就指向谁,比如一个类里面有eat和jump方法,现在要在jump方法里使用eat方法,此时则无需使 用类名加方法名来调用了,只需this.eat();便可以了。
方法的形参可变:
如果在定义一个方法时在最后一个形参类型的后面加上三个点则表明该方法可接收多个该类型的参数。
方法的递归:
一个方法在方法中调用自己便称为方法递归。
比如定义一个方法是求一个数的平方根,然后我在该方法中再次调用该方法,则会一直求根下去,因此,在使用递归的时候必须给方法一个出口。
方法重载:
方法重载是后面所要学的多态的一个重要条件。
方法重载就是多个方法之间方法名相同,但形参不同。
方法的重写:当一个子类继承了父类的时候,也就继承了父类里面的属性和方法,当子类觉得父类的某个方法不好的时候就可以进行方法重写。
方法重写时,方法名包括形参列表必须相同,访问权限必须等于或者大于父类的访问权限,其他的必须与父类的一致,然后才能对方法体进行重写,当重写 了父类的方法之后,在子类调用方法时则默认调用重写之后的方法,而当这时需要使用父类重写之前的方法时便可用super关键字,该关键字直接指向该类的 超类。
封装:
封装是面向对象的三大基本特征之一。
封装可以很好的保护程序的内部数据,使外部无法直接访问该程序的内部数据。
访问控制符有四个关键字,权限从低到高依次是:private、default、protected以及public
private:只允许当前内部类的成员进行访问,就连子类也无法访问
default:在没有添加任何访问修饰符时,系统将默认使用这个访问权限,该访问权限只允许同一个包内的成员之间相互访问。
protected:允许不同包之间的子类访问
public:公共访问权限,即任何包任何类都可以访问,无论是否在一个包中以及是否有继承关系