java创建父类子类代码 java父类子类运行实例

Java在父类中如何创建子类对象?

你好,很高兴回答你的问题。

站在用户的角度思考问题,与客户深入沟通,找到凯里网站设计与凯里网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、成都网站制作、企业官网、英文网站、手机端网站、网站推广、域名注册虚拟主机、企业邮箱。业务覆盖凯里地区。

可以进行如下修改,将breed的实现移到抽象父类Animal中,略做修改,修改后代码如下

public Animal breed(){

Animal ret =null;

if(isBreedable() Math.random()getValue()){

ret=getAnimal();

}

return ret;

}

父类Animal中增加如下两个抽象方法:

public abstract double getValue();

public abstract Animal getAnimal();

在Fox中不再需要实现breed,实现新定义的两个方法:

public abstract double getValue(){

return 0.5;

}

public abstract Animal getAnimal(){

return new Fox();

}

在Rabbit类中类似处理:

public abstract double getValue(){

return 0.12;

}

public abstract Animal getAnimal(){

return new Rabbit();

}

如果有帮助到你,请点击采纳。

我解答的大部分是软件开发新人遇到的问题,如果有兴趣可以关注我。

用JAVA编写一个父类两个子类

import java.util.Date;

public class $ {

public static void main(String[] args) {

Father f = new Father("test");

f.getA();

f.getB();

f = new Son1();

f.getA();

f.getB();

Son0 son = new Son0();

son.getA();

son.getB();

son.getC();

son.getD();

}

}

class Father {

private int id;

private String name;

private int age;

private boolean sex;

private Date birthDay;

public Father(String name, int age, boolean sex) {

this.name = name;

this.age = age;

this.sex = sex;

}

public Father() {

this(null, 0, false);

}

public Father(String name) {

this(name, 0, false);

}

public void getA() {

System.out.println("father a");

}

public void getB() {

System.out.println("father b");

}

}

class Son0 extends Father {

private String sonName;

private in sonId;

public void getC() {

System.out.println("Son0 c");

}

public void getD() {

System.out.println("Son0 d");

}

}

class Son1 extends Father {

private String sonName;

private in sonId;

public void getA() {

System.out.println("Son1 a");

}

public void getB() {

System.out.println("Son1 b");

}

}

结果:

father a

father b

Son1 a

Son1 b

father a

father b

Son0 c

Son0 d

java编程:创建父类Animal和子类Dog

//Animal.java

public class Animal {

private String name;

protected String species;

protected int age;

public Animal(String name,int age){

this.name = name;

this.age = age;

}

public String showInfo(){

String msg = "打印对象详细信息……";

return msg;

}

public void setSpecies(){

this.species = this.getClass().getSimpleName();

}

}

//Dog.java

public class Dog extends Animal {

private String name;

public Dog(String name,int age){

super(name,age);

}

public static void main(String[] args){

Dog d = new Dog("Tom",5);

System.out.println(d.showInfo());

}

//重写方法

public String showInfo(){

String msg = "";

msg = "My name is " + name + ".\nI'm a " + species + ".\nI'm " + age + ".";

return msg;

}

}

JAVA中父类创建子类的问题

楼主问的是你解决问题的那段代码的意义吧,楼上的回答实在是让人不知所云啊。

A是父类。B和C继承A。

A b = new B();

A c = new C();

这个就不用我啰嗦了吧,Java的多态。

String str = "B";

A a = (A) Class.forName(str).newInstance();

我来解释一下它吧,这个技术叫反射,主要意思就是在编译的时候不指定要创建哪个的对象,而在执行过程中才去指定。不明白请百度百科JAVA反射机制。Class.forName(str)加载类名叫str的那个类,newInstance()创建该类的对象,因为Java并不知道实例化的类是谁,所以返回对象是Object对象,这就需要造型(A) Class.forName(str).newInstance();这样就返回了A类对象,楼主明白否?


网站栏目:java创建父类子类代码 java父类子类运行实例
文章URL:http://hbruida.cn/article/ddddddd.html