package com.imooc;
public class Initail {
public static void main(String args[]){
Triffic tri1 = new Triffic();
Triffic tri2 = new Bus();
Triffic tri3 = new Ship();
Triffic tri4 = new Airplane();
tri1.Triffic();
tri2.Triffic();
tri3.Triffic();
tri4.Triffic();
}
}
public class Initail {
public static void main(String args[]){
Triffic tri1 = new Triffic();
Triffic tri2 = new Bus();
Triffic tri3 = new Ship();
Triffic tri4 = new Airplane();
tri1.Triffic();
tri2.Triffic();
tri3.Triffic();
tri4.Triffic();
}
}
2015-09-02
继承:
1.继承的概念:继承是类与类的一种关系,是一种“is a”的关系
注:Java中的继承是单继承。
2.继承的好处:
子类拥有父类的所有属性和方法。
实现代码复用
3.语法规则:
class 子类 extends 父类{}
private属性无法继承
1.继承的概念:继承是类与类的一种关系,是一种“is a”的关系
注:Java中的继承是单继承。
2.继承的好处:
子类拥有父类的所有属性和方法。
实现代码复用
3.语法规则:
class 子类 extends 父类{}
private属性无法继承
2015-08-31
public boolean equals(Object obj){
if(this == obj)//判断引用的地址是否相同
return true;
if(obj==null)//判断对象是否为空值
return false;
if(getClass()!=obj.getClass())//判断两个对象的类型是否相同
return false;//getClass()类对象:描述对象的类型信息 如:年龄
Dog other=(Dog) obj;//将对象转换成相同类型
if(age!=other.age)//比较属性是否相同
return false;
return true;
}
if(this == obj)//判断引用的地址是否相同
return true;
if(obj==null)//判断对象是否为空值
return false;
if(getClass()!=obj.getClass())//判断两个对象的类型是否相同
return false;//getClass()类对象:描述对象的类型信息 如:年龄
Dog other=(Dog) obj;//将对象转换成相同类型
if(age!=other.age)//比较属性是否相同
return false;
return true;
}
2015-08-31
super关键字:
在对象的内部使用,可以代表父类对象
1.访问父类的属性 super.age
2.访问父类的方法 super.eat()
super的应用:
子类的构造的过程当中必须调用其父类的构造方法。
如果子类的构造方法中没有显示调用父类的构造方法,则系统系默认调用父类无参的构造方法。
如果显示的调用构造方法,必须在子类的构造方法的第一行。
如果子类构造方法中既没有显示调用父类的构造方法,而父类又没有无参的构造方法,则编译出错。
在对象的内部使用,可以代表父类对象
1.访问父类的属性 super.age
2.访问父类的方法 super.eat()
super的应用:
子类的构造的过程当中必须调用其父类的构造方法。
如果子类的构造方法中没有显示调用父类的构造方法,则系统系默认调用父类无参的构造方法。
如果显示的调用构造方法,必须在子类的构造方法的第一行。
如果子类构造方法中既没有显示调用父类的构造方法,而父类又没有无参的构造方法,则编译出错。
2015-08-31
final关键字:使用final关键字做表示有“最终的”含义
final可以修饰类、方法、属性和变量
final修饰类,则该类不允许被继承
final修饰方法,则该方法不允许被覆盖(重写)
final修饰属性:则该类的属性不会进行隐式的初始化(初始化属性时赋值)或在构造方法中赋值(但只能选其一)
final修饰变量,则该变量的值只能赋一次值,即变为常量;
如果使用final修饰变量,且没有给该变量赋值,系统不会自动给该变量赋默认值0,会报错
final可以修饰类、方法、属性和变量
final修饰类,则该类不允许被继承
final修饰方法,则该方法不允许被覆盖(重写)
final修饰属性:则该类的属性不会进行隐式的初始化(初始化属性时赋值)或在构造方法中赋值(但只能选其一)
final修饰变量,则该变量的值只能赋一次值,即变为常量;
如果使用final修饰变量,且没有给该变量赋值,系统不会自动给该变量赋默认值0,会报错
2015-08-31
继承的初始化顺序
1.初始化父类再初始子类
2.先执行初始化对象中属性,再执行构造方法中的初始化。
(执行顺序:父类初始化对象 父类构造方法 子类初始化对象 子类构造方法)
1.初始化父类再初始子类
2.先执行初始化对象中属性,再执行构造方法中的初始化。
(执行顺序:父类初始化对象 父类构造方法 子类初始化对象 子类构造方法)
2015-08-31