类和对象:
类是一个模板,确定了对象的形式和行为。对象是类的实例。
类的层次结构:
类中定义属性和方法,表明了由这个类产生的对象所 具有的特征与可以进行的操作。
对象的创建:
1.
对象 变量名=new 对象();
2.
对象 变量名;
变量名=new 对象();
属性的默认值:
在定义类的属性后,使用的过程中,如果没有给这些属性赋值,那么JVM
系统将自动为这些属性赋默认值数值类型的初始值为0
,对于
char
类型,其值为“\u0000
”,显示为空字符,
boolean
类型的初始值为false
,而引用类型(如
String)
的初始值为
null
构造方法:
构造方法的名称与类名一样,且构造方法没有返回值,当类中没有创建构造方法时,编译器会为类自动创建构造方法。
编译器自动创建的构造方法为无参方法,如果我们手动创建构造方法,编译器就不会自动创建构造方法。
有参构造方法可以让我们更加灵活的赋值。
stacit关键字:
如果一个成员被声明为
static
,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。
static
成员的最常见的例子是
main()
,因为在程序开始执行时必须调用main()
,所以它被声明为
static。
声明为
static
的方法有以下几条限制:
a.它们仅能调用其他的
static
方法。
b.它们只能访问static
数据。
c.它们不能以任何方式引用
this
或
super。
继承:
继承是面向对象非常重要的特点之一,用好继承能够使程序具有更好的可扩充性,减少程序的代码量。
利用继承, 我们可以先创建一个共有属性的一般类,根据该一般类再创建具有特殊属性的新类继承一般类的状态和行为,并根据需要增加它自己的新的状态和行为。
继承可以解决代码的冗余,程序难以更新,难以扩展等问题。
不能为了继承而继承,有内在联系和共有属性再使用继承。
方法的重载与重写:
重载是在同一个类可以有多个方法,方法名相同参数列表(参数类型或参数个数)不同。
而重写,则只能发生在子类。
重写是指在子类需要对父类的方法加以改进,变成子类自己的方法,这就需要在子类中重新编写
方法,覆盖父类的
方法。
多态:
同一个对象引用不同的实例得到不同的结果。
多态指的就是多种形态,例如,同样是水的成份,但有液态水及冰的多种形态。
继承是多态的一种体现。
代码示例:
public class Animal {
public void cry(){
}
}
class Cat extends Animal{
public void cry(){
System.out.println("小猫的叫声:喵喵喵~~~");
}
}
class Dog extends Animal{
public void cry(){
System.out.println("小狗的叫声:汪汪汪~~~");
}
}
class Sheep extends Animal{
public void cry(){
System.out.println("小羊的叫声:咩咩咩~~~");
}
}
class AnimalTest{
public static void main(String[] args) {
Animal a=new Animal();
a=new Cat();
a.cry();
a=new Dog();
a.cry();
a=new Sheep();
a.cey();
}
}
输出结果:
小猫的叫声:喵喵喵~~~
小狗的叫声:汪汪汪~~~
小羊的叫声:咩咩咩~~~
Object类:
Java
中,任意一个类均直接或间接由一个类演绎而来,这个类就是Object
类,
Object
是类层次结构的根类,每个类都使用Object
作为超类。所以,每个类都具有Object
类所定义的特征。
fianl关键字:
被fanil修饰的类无法被继承;
被fanil修饰的变量变成常量,无法被修改;
被fanil修饰的方法无法被重写;
被fanil修饰的对象无法被引用。