java怎么在主函数实例化另一个类对象

public class Animal{

public static void main(String[] args){
Dog d = new Dog();//报错The constructor Animal.Dog() is undefined
}}
class Dog extends Animal{}

java构造方法定义:如果类中未显式的定义构造方法,则会有默认的无参构造方法,如果类中定义了有参数的构造方法,那就需要在类中显式的定义类的无参构造方法。
你的问题:
Dog类中定义了有参数的构造方法public Dog(String name, int health, int love, String strain),那么你需要在类中定义public Dog(),才可以在main中使用Dog d = new Dog();类实例化Dog类追问

Animal 类要不要定义构造方法 定义的话 dog类会报错
Dog类已经定义有参数的构造方法 还要定义无参构造方法?弄了还是一样报错?

追答

Dog类已经定义有参数的构造方法,必须要定义无参数的构造方法后,才能使用无参数的构造方法类实例化类,如果没有定义有参数的构造方法,java会有默认的无参构造方法

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-10-23
Dog类中未定义它的构造函数追问

class Dog extends Animal{

public String strain;
public Dog(String name, int health, int love, String strain){

this.name = name;
this.health = health;
this.love = love;
this.strain = strain;

}

有定义

追答

你定义了有参的构造函数,要再定义一个无参的构造函数,才能Dog d = new Dog()

追问

public Dog(){} 不行啊

追答class Dog extends Animal {

public String name;
public int health;
public int love;
public String strain;

public Dog(String name, int health, int love, String strain) {

this.name = name;
this.health = health;
this.love = love;
this.strain = strain;

}

public Dog() {

}
}

本回答被提问者采纳

如何在一个类中调用另一个类的函数
方法1. 新建一个类。然后在调用类中先进行被调用类实例化,然后通过实例化的对象访问。例如:\/\/先定义一个类 \/\/实例化,调用 方法2.新建一个类,将该类中需要被调用的方法设置为静态(static),加了static后,就可以用类名直接调用。然后在调用类中直接通过类名进行访问。调用格式为:类名.方法名...

详解JAVA对象实例化过程
1. 对象的实例化过程:在Java中,通过类的构造函数来实例化对象。当调用一个类的new操作符时,构造函数被调用,实例化新的对象。这个过程包括分配内存空间、初始化对象状态以及执行构造函数代码。2. 类的加载过程:在Java程序运行时,类的加载发生在类的引用被程序使用之前。加载过程包括三个步骤:类的...

怎么在一个java程序里调用另一个java程序?
先把2个文件放在同一个包下面,这样就可以访问另一个java程序了。一般的方法是在A程序里实例化B类,然后通过B.方法名 去调用B类里的方法 Runtime.getRuntime().exec("外部程序");相当于你在cmd控制台中输入"外部程序"并回车执行

java中main方法所在的类的实例化问题
什么情况才会实例化main方法所在的类,只要你要使用这个类里面的非静态方法、非静态变量就一定会要实例化。

java怎么调用另一个类的方法?
Java中的一个类怎么调用另一个类中的方法1、java类有两种方法一种是类方法就是用static修饰的,一种是实例方法,就是没有static修饰的方法。类方法可以同时类名.方法名的方式调用。而实例方法必须先生存类的实例在通过实例.方法名的方式调用。2、如果有访问权限的话,可以调用该类的静态方法(不同包...

java中在类中实例化该类,那每次调用该对象的时候是一个对象还是每次都重...
以后访问 Single的时候,均不在实例化a 想要判断是否是一个对象的方法 class Single { public static Single a = new Single(); public synchronized static Single getInstance(){ return a ; }}public class Test{ public static void main(String[] args){ Single s = Single....

java里A类调用B类里的方法 在A类实例化还是在B类实例化?
需要在A类中实例化类B,才能通过类B调用B类的方法。1、定义一个类A public class A{\/\/定义类A public void s1(){\/\/定义一个类A的方法s1 }}2、定义类B public class B{\/\/定义类B public void sB(){\/\/定义一个类B的方法sB }}3、类A调用类B的方法 public void s1(){\/\/...

java中一个类怎么调用另一个类中的函数
首先这两个类不在同一个包 1 在usermn中导包 import md.md5;2.在usermn中创建md5的对象 md5 XX = new md5();接下来就可以用XX.getMD5ofStr(String inbuf);调用到md5类里面的函数 满意请采纳 多谢合作!!

在java中,一个包中的实例如何调用另一个包中的方法
前提是需要先把要调用的另外个包路径导入进来本实例类中。1、通过new创建一个其他包的类实例,通过新创建的实例,调用它的方法,返回结果给调用者;2、如果要调用的另外个包的类方法是一个static静态反法,可以直接用类来调用方法,不需要new对象,返回结果给调用者。

如何在JAva中的另一类中引用另一个类
我先创建两个类:Person 类,Student类 开始调用了:在Student类中调Person类 public class Student{ Person per=new Person();per.方法; \/\/方法指Person中的方法 } 现在你懂了么

相似回答