java小问题
//父类的成员域,成员方法会被继承,但是父类的构造方法会被覆盖,用super();就可以调用父类的构造函数但一定要放在子类构造函数的第一句话//父类的同名成员方法会被覆盖,调用的方法:super.x();,一般不提倡使用与父类同名的成员域,这样会出现编译错误。
//构造方法是特殊的成员方法不需要返回类型,而普通的成员方法这需要返回类型
//子类对象既属于父类有属于子类
class Employee//父类
{
public int workyear;//父类成员域//可以被子类继承
public Employee()//父类构造方法
{
workyear=1;
}
public void once()//父类的成员方法
{
System.out.println("i am once");
}
}
class teacher extends Employee//子类
{
public int classhour;//子类成员域//子类中的classhour是子类的classhour
//public int workyear;//不提倡出现与父类同名的成员域,这样编译一般不会通过
public teacher()//子类构造方法//不需要返回类型//会覆盖父类的构造方法
{
//隐式调用父类的构造方法
//super();
//当父类的构造方法有参数时,子类在构造方法中必须敲打父类的带参数的构造方法,不然会报错
//super(30,40,50);
super();//调用父类中被覆盖的构造方法,必须是构造方法的第一个语句
System.out.println("the father workyear is "+workyear);
classhour=96;
}
public void Employee()//在子类中方法名传递参数与父类均相同的话,就会覆盖父类中的同名方法,称为方法的覆盖
{ //因为方法名和类名不一样所以会被当成普通成员方法看待,故需要返回类型void
workyear=11;
}
public void output()//每个成员方法需要返回类型
{
//once();//父类的成员方法可以被继承
Employee();//调用自身的成员方法
System.out.println("the child workyear is "+workyear);
//System.out.println("the classhour is "+classhour);
}
public void once()//会覆盖父类的同名成员方法
{
super.once();//调用同名的父类成员函数
System.out.println("i am once too");
}
}
public class fuckthree//文件名需要和main函数所在的类同名
{
static void diaoyong(Employee one)
{
one.once();//是父类的因为子类的实例对象没有給父类<与three相比>
}
static void diaoyongtwo(teacher two)
{
two.output();//会调用父类和子类的构造函数以及所要求的函数
}
static void diaoyongthree(Employee three)
{
three.once();//有子类的就调用子类的,没子类的就调用父类的
//three.output();//为什么是错的,既然three是teacher的实例对象//父类中没有output函数所以该语句错误,因为该实例对象是父类的实例对象而不是子类的,虽然子类把自己的实例对象给了父类
}
public static void main(String []args)
{
Employee one= new Employee();
fuckthree.diaoyong(one);
teacher two=new teacher();
fuckthree.diaoyongtwo(two);
teacher fuck=new teacher();
Employee three=fuck;//子类对象赋给父类,虽然three是类型是父类的类型但是我们将子类的对象赋给了three所以现在three是子类的对象。
if(three instanceof teacher)
{
System.out.println("fuckfuckfuckfuckfuck");
}
fuckthree.diaoyongthree(three);
}
}
--------------------编程问答-------------------- [img=C:\Documents and Settings\Administrator\桌面][/img] --------------------编程问答-------------------- [img=C:\Documents and Settings\Administrator\桌面][/img]搜狗截图_2011-10-03_15-21-25.jpg --------------------编程问答-------------------- 我顶,我顶,我顶顶顶 --------------------编程问答-------------------- 楼主想说么? --------------------编程问答-------------------- 不太明白楼主要说明的问题是什么?
补充:Java , 非技术区