首页 > 代码库 > java中子类继承

java中子类继承

[root@server254 java]# vim Ostrich.java //注意文件名必须是这个,因为下面代码中只有Ostrich是public修饰符。我们要明白public的含义

class Bird
{
        public void Fly()
        {
                System.out.println("I am bird I can fly");
        }
}
public class Ostrich extends Bird
{
        public void Fly()
        {
                System.out.println("I am bird But I can not fly");
        }
        public static void main(String[] args)
        {
                Ostrich f = new Ostrich();//死
                f.Fly();
        }
}


子类继承了父类,子类就拥有了父类的所有的方法,可以直接调用,可以修改,虽然,构造器也是一种特殊的方法,但是,子类不能继承到父类的构造器,这是java的规定。

上面这个例子就是子类继父类,而且还可以重写父类的方法!只要方法名字一定一样!


class Bird
{
        public void Fly()
        {
                System.out.println("I am bird I can fly");
        }
}
public class Ostrich extends Bird
{
        public void Fly()
        {
                System.out.println("I am bird But I can not fly");
        }
        public void callOverrideMethod()
        {
                super.fly();//使用super限定,去调用Bird类中被覆盖的方法,这样Ostrih类就可以去访问被自己覆盖的父类的方法
        }
        public static void main(String[] args)
        {
                Ostrich f = new Ostrich();
                f.Fly();
        }
}




当然我们怎么在子类中继承父类的成员呢?就像Feild一样,可是成员又包括类成员和对成员,就像类Feild和对象Feild,我们该怎么在子类中调用这些从父类中继承的成员呢?

正确:

子类继承了父类后,想调用父类,调用父类中的类Feild话需要使用 父类名.成员名

class Bird
{
        static String name;  //这是一个类Feild,子类继承了它
        public void Fly()
        {
                System.out.println("I am bird I can fly");
        }
}
public class Ostrich extends Bird
{
        public void Fly()
        {
                System.out.println("I am bird But I can not fly");
        }
        public static void main(String[] args)
        {
                Ostrich f = new Ostrich();
                f.Fly();
                Bird.name = "maque";//子类调用时必须使用Bird不能使用super,因为这是个static修饰的,属于类本身
                System.out.println(Bird.name);
        }
}




非static修饰的


class Bird
{
        String name;
        public void Fly()
        {
                System.out.println("I am bird I can fly");
        }
}
public class Ostrich extends Bird
{
        public void Fly()
        {
                System.out.println("I am bird But I can not fly");
        }
        public static void main(String[] args)
        {
                Ostrich f = new Ostrich();
                f.Fly();
                super.name = "maque";
                System.out.println(Bird.name);
        }
}


本文出自 “8176010” 博客,谢绝转载!