面向对象的思想,是学习Java的核心。说起面向对象,类、对象,增强了代码的复用性,灵活性,好处一堆一堆的。类、对象被我们提了一遍一遍又一遍,这里就不再详细介绍。简单的说对象就是类的一个实例化。
变量类型:局部变量和成员变量
局部变量是写在方法里面,只供方法个人使用。成员变量在写在方法外面,在类里面的。成员变量如果不对其进行初始化,Java默认对其初始化为0.
<span style="font-size:18px;">public class Cap{
int Color; //成员变量
void Catch(){
int height; //局部变量
}
}</span>
继承
简单声明方式
<span style="font-size:18px;">class SuperClass{}
class subClass extends SuperClass{ //使用extends关键字
}</span>
Super关键字:
在改写父类方法的时候,想保留父类的方法,但是又不想将父类的方法重新写一遍那么可以用super。
this关键字
this关键字,我们在看的时候回很困惑,不知道this指的是哪个。经常看到的是this.i=i; this本身指的是对象,this.i是一个成员变量(指的是方法外面类里面声明的变量)。指向的是所在的类本身。
equals关键字
equals是Object中的一个方法,是比较对象是否相同的,相当于(==)。但是equals实际上只能比较两个对象的引用是否相同,而不能比较两个的 内容是否相同,所以需要我们重写equals方法,利用 1对象.内容==2对象.内容来实现,两个对象内容的比较。
public boolean equals(Object obj) {
if(obj == null) return false;
else {
if(obj instanceof Cat) {
Cat c = (Cat)obj;
if(c.color == this.color && c.height == this.height && c.weight == this.weight) {
return true;
}
}
}
return false;
}
构造方法
实例化中的构造方法
构造方法也就是使用new构造方法,创建一个新对象。在实例化一个对象的时候,也就是new一个东西的时候,实际上调用的是一个构造方法。构造函数实际上是一个用来初始化对象的函数,构造函数与类名相同并且没有返回值。
形式如下:
<span style="font-size:18px;">public class 类名{
int age;
int id;
类名(int n,int i){
id=n;
age=i;
}
}</span>
继承中的构造方法
子类的构造过程必须调用其基类的构造方法,子类可以在以自己的构造方法中使用Super来引用基类的构造方法。
重载
重载是指一个类中,定义相同的名字,相同的返回类型,但是参数不同的多个方法。
void info(){
System.out.println("没有参数");
}
void info(String s){
System.out.println("有一个参数");
}
重写
重写简单的来说就是父类中定义了一个方法,子类想对这个方法进行修、添加一些自己的扩展功能,就可以对该方法进行重写。在接口中,只能定义方法,而不能写方法的具体实现,是对方法进行重写的一个重要体现。
面向对象是java的核心内容,在面向对象语言中类、接口是常见的。重写、重载等方法也就很基础,打好基础是我们学习后面内容的一个铺垫。