java小问题

luojiabinshenjia 2011-10-03 03:18:12
//父类的成员域,成员方法会被继承,但是父类的构造方法会被覆盖,用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);
}
}


...全文
29 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
乘桴游海 2011-10-05
楼主想说么?
回复
鹏翔凤舞 2011-10-05
不太明白楼主要说明的问题是什么?
回复
hw_001 2011-10-04
我顶,我顶,我顶顶顶
回复
luojiabinshenjia 2011-10-03
搜狗截图_2011-10-03_15-21-25.jpg
回复
luojiabinshenjia 2011-10-03
回复
相关推荐
发帖
非技术区
创建于2007-09-28

2.3w+

社区成员

Java 非技术区
申请成为版主
帖子事件
创建了帖子
2011-10-03 03:18
社区公告
暂无公告