您的位置:

在java中继承的资源(java里的继承)

本文目录一览:

什么是继承,试说明在java中实现多继承的方法

JAVA里没有多继承,一个类之能有一个父类。

而继承的表现就是多态。一个父类可以有多个子类,而在子类里可以重写父类的方法(例如方法print()),这样每个子类里重写的代码不一样,自然表现形式就不一样。这样用父类的变量去引用不同的子类,在调用这个相同的方法print()的时候得到的结果和表现形式就不一样了,这就是多态,相同的消息(也就是调用相同的方法)会有不同的结果。举例说明:

//父类

public class Father{

//父类有一个打孩子方法

public void hitChild(){}

}

//子类1

public class Son1 extends Father{

//重写父类打孩子方法

public void hitChild(){

System.out.println("为什么打我?我做错什么了!"); }

}

//子类2

public class Son2 extends Father{

//重写父类打孩子方法 public void hitChild(){

System.out.println("我知道错了,别打了!"); }

}

//子类3

public class Son3 extends Father{

//重写父类打孩子方法 public void hitChild(){

System.out.println("我跑,你打不着!"); }

}

//测试类

public class Test{

public static void main(String args[]){

Father father;

father = new Son1();

father.hitChild();

father = new Son2();

father.hitChild();

father = new Son3();

father.hitChild();

}

}

都调用了相同的方法,出现了不同的结果!这就是多态的表现!

2.JAVA中没有多继承,而用接口实现了多继承!一个类或是可以同时实现多个接口!(就相当于C++里一个类同时继承了多个类!)例如:

public class Son implements Father1,Father2,Father3{

}

接口有利于代码功能的扩展(增加新的功能)!而继承则有利于代码功能的修改(把旧的功能改成新的功能)!这里旧功能的修改和新功能的增加前提是不修改旧的功能,旧的功能仍然可以使用!旧类的代码也不做修改!

接着上面的继承举例:上面例子中的子类我们统称为一代子类

1.用继承修改旧的功能。

现在如果一代Son1的功能打孩子,也就是方法hitChild()里边的功能实现有问题,我们要把具体实现修改掉,那么我们可以重新写一个新的二代子类Son11继承自一代子类Son1,并重写其hitChild()方法。

//二代子类

public class Son11 extends Son1{

//重写父类打孩子方法

public void hitChild(){ System.out.println("我是二代子类对此方法的新实现");

}

}

2.用接口实现增加新的功能。

现在类Son1已经有了‘打孩子’功能(也就是方法),而我们有了新的需求,我们需要它还要有一个新的功能‘宠孩子’(新方法pet();)。而旧的代码不能动!那么我们可以定义一个新的接口(PetInterFace),接口里定义这个方法pet()的声明。再重新写一个二代子类Son11,让它先继承类Son1,同时实现接口 PetInterFace!并实现接口里的 pet()方法!

//新接口

public interface PetInterFace{

//新功能方法 public void pet();

}

//二代子类

public class Son11 extends Son1 implements PetInterFace{

//实现接口方法

public void pet(){

System.out.println("父亲很爱我!");

}

}

这样这个二代子类即有了老的方法,又有新的功能!

解释一下Java中的继承,都继承到什么了

java是面向对象的编程语言,是类构成了java语言,而继承又是java必不可少的,继承就是当你写一个类时,虽然这个类满足了某些功能但是你又想拓展它的功能,此时你就可以使用继承机制在写一个该类的子类,来完成你需要的功能,一旦子类继承了父类...

JAVA中是继承不能实现资源共享而接口可以实现资源共享吗?

接口内部变量默认为public属性,所以实现这个接口的类,是能完全访问接口内变量的。

某种程度达到了你的要求。

另外,如果类内对象定义为protected属性,那么继承的手段也能完全资源共享

关于Java 的继承问题,子类会继承父类的哪些东西?

父类和子类的问题:

确认父类的方法是否使用了private修饰

并非所有的父类方法都可以被子类继承的。

其次确认子类继承父类时,是否有import

父类

【无法找到继承的对象】感觉像是没有import

编译的时候,查找的是class文件。所以父类只有class是可以的。但是需要放在同一个工程中

你说的第二个问题?好像是实现不了。父类调用子类的方法是掉不到的

想实现这个就得依靠接口了

java中的继承

当然有

fathera=newson是属于父类引用指向了子类对象,java把这种把子类对象赋给父类引用变量称之为向上转型

区别:给你举个例子

比如,father类有一个eat()方法,son类继承了father类,也就拥有了eat()方法,并同时定义了自己的方法drink().如果是fathera=newson,则你只能调用属于father的方法eat(),而不能调用son的方法drink().也就是说虽然变量a指向了对象son,但由于它编译时的类型是father,所以它不能调用属于son的方法,尽管变量a运行时的类型是son.

而sona=newson中的a则可以调用属于它自己的方法drink().和它继承的方法eat(),因为a这个引用变量编译时的类型和运行时的类型都是son.

再说的大众些,fathera=newson是以父亲的角度看儿子,由于父子之间有继承关系,你是创造了一个儿子对象并把它当父亲用,所以你只能调用属于父亲的方法,而sona=newson就是你是创造了一个儿子对象并把它当儿子,所以你可以调用属于儿子的方法和他所继承父亲的方法

以后你理解了多态以后,就好理解这个问题了