怎样在JAVA中创建一个Animl :Pig(); Dog () ;等等这样一个继承结构基类中提供对所有动物通用的方法

作者&投稿:柯泻 (若有异议请与网页底部的电邮联系)
写出下面JAVA程序的结构(哪些组件、类,方法、触发哪些事件)~

package com.fruitking.test;

//下面是程序中需要引入的其他类。这些jdk提供
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/*
* ComboBoxDemo.java is a 1.4 application that uses these additional files:
* images/Bird.gif
* images/Cat.gif
* images/Dog.gif
* images/Rabbit.gif
* images/Pig.gif
*/
//定义了一个继承JPanel的类,有实现了接口ActionListener
public class ComboBoxDemo extends JPanel
implements ActionListener
{
JLabel picture;
//定义了一个方法ComboBoxDemo
public ComboBoxDemo()
{
super(new BorderLayout());
String[] petStrings = { "Bird", "Cat", "Dog", "Rabbit", "Pig" };
//Create the combo box, select the item at index 4.
//Indices start at 0, so 4 specifies the pig.
JComboBox petList = new JComboBox(petStrings);
petList.setSelectedIndex(4);
petList.addActionListener(this);
//Set up the picture.
picture = new JLabel();
picture.setFont(picture.getFont().deriveFont(Font.ITALIC));
picture.setHorizontalAlignment(JLabel.CENTER);
updateLabel(petStrings[petList.getSelectedIndex()]);
picture.setBorder(BorderFactory.createEmptyBorder(10,0,0,0));
//The preferred size is hard-coded to be the width of the
//widest image and the height of the tallest image + the border.
//A real program would compute this.
picture.setPreferredSize(new Dimension(177, 122+10));
//Lay out the demo.
add(petList, BorderLayout.PAGE_START);
add(picture, BorderLayout.PAGE_END);
setBorder(BorderFactory.createEmptyBorder(20,20,20,20));
}
/** Listens to the combo box. */
public void actionPerformed(ActionEvent e)
{
JComboBox cb = (JComboBox)e.getSource();
String petName = (String)cb.getSelectedItem();
updateLabel(petName);
}
protected void updateLabel(String name)
{
ImageIcon icon = createImageIcon( name + ".gif");
picture.setIcon(icon);
picture.setToolTipText("A drawing of a " + name.toLowerCase());
if (icon != null) {
picture.setText(null);
} else {
picture.setText("Image not found");
}
}
/** Returns an ImageIcon, or null if the path was invalid. */
protected static ImageIcon createImageIcon(String path)
{
java.net.URL imgURL = ComboBoxDemo.class.getResource(path);
if (imgURL != null) {
return new ImageIcon(imgURL);
} else {
System.err.println("Couldn't find file: " + path);
return null;
}
}
//main方法,这个方法被首先执行
public static void main(String s[])
{
//Make sure we have nice window decorations.
JFrame.setDefaultLookAndFeelDecorated(true);
//Create and set up the window.
//new了这个类的对象,也就是类的对象实例化,这样才能调用其里面的方法
JFrame frame = new JFrame("ComboBoxDemo");
//调用了方法setDefaultCloseOperation,.这个方法在本类中没有找到,那么应该是其父类的。
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Create and set up the content pane.
JComponent newContentPane = new ComboBoxDemo();//其类中有构造,就会在new的时候北执行。
newContentPane.setOpaque(true);
frame.setContentPane(newContentPane);
//Display the window.
frame.pack();
frame.setVisible(true);
}
}
其他的问题都是方法上的事情了,你首先要明白继承和实现接口是怎么回事。

没太理解你要求的 实现但一般这种动态获取类信息 在java中都是通知反射机制实现的
Java的反射API(Reflection API)Class类:要正确使用Java反射机制就得使用java.lang.Class这个类。它是Java反射机制的起源。当一个类被加载以后,Java虚拟机就会自动产生一个Class对象。通过这个Class对象我们就能获得加载到虚拟机当中这个Class对象对应的方法、成员以及构造方法的声明和定义等信息。 反射API用于反应在当前Java虚拟机中的类、接口或者对象信息功能:(Object object = new Object(),下面以对象object进行说明)1) 获取类的Class对象如果在运行时一个类的实例已经得到,你可以使用Class c = 对象名.getClass();例: Class c = object.getClass();Class s = object.getSuperclass();如果你在编译期知道类的名字,你可以使用如下的方法Class c =java. awt. Button.class; 或者Class c = Integer.TYPE;如果类名在编译期不知道, 但是在运行期可以获得, 你可以使用下面的方法Class c = Class.forName(“类的全路径”);2) 获取类的Fields ,对Field进行赋值Field[] fus = object.getClass().getDeclaredField();Field fu = object.getClass().getDeclaredField(fieldName);//获取对象object的名称为fieldName的属性域。fu.setAccessible(true) ;//设置属性域的访问属性fu.set(object,val); //设置object对象的属性值3) 获取类的MethodMethod[] ms= object.getClass().getDeclaredMethods()4) 获取类的Constructor5) 新建类的实例(A)通过Class的函数newInstance(B)通过Constructor对象的方法newInstance.

执行的是基类覆盖后的方法


java 在指定的文件夹下创建一个新的文件夹
可以先切换到指定的文件夹路径下,之后直接通过mkdir方法进行文件夹创建。举例:String path = "d:\/oldfilepath";\/\/定义指定文件路径 String newPath = path+"\/newpath";\/\/指定新路径 File file = new File(newPath );\/\/定义一个文件流 file.mkdir();\/\/创建文件夹 备注:如果不确定原有文件夹...

java语言如何创建set的一个实例
set<泛型> set=new HashSet<泛型>();其中泛型可以是String 类型 Integer类型,也可以自己创建的对象方入其中,这属于最简单的创建Set的事例 其中set中可以存放重复的数据集

java中怎么在创建对象时一并赋值?
您好,提问者: 这个基本能想到的有两种,如下代码:public class Student{ private int a; private int b; private int c; public Student(int a, int b, int c){ this.a = a; this.b = b; this.c = c; }}class Person{ private int a; private ...

在Java 中多线程的实现方法有哪些,如何使用
Java多线程的创建及启动 Java中线程的创建常见有如三种基本形式 1.继承Thread类,重写该类的run()方法。 复制代码 1 class MyThread extends Thread { 2 3 private int i = 0; 4 5 @Override 6 public void run() { 7 for (i = 0; i < 100; i++) { 8 System.out.println(Thread.currentThrea...

java中创建一个自定义异常类AgeExcepton,判断年龄是否在18到80之间...
import java.util.*;class AgeException extends Exception { String message;AgeException(int n){ message="您输入的数字超出范围,请输入(18~80)之内的数字";} public String getMessage(){ return message;} } class A { public void f(int n) throws AgeException { if(n<18||n>80){...

用JAVA创建一个int类型的数组长度为5,循环录入5个值,存入数组中,并将这...
a[i] = scanner.nextInt(); sum += a[i]; } for (int i = 0; i < a.length; i++) { System.out.println(a[i]); } System.out.println(sum); }}\/* 基础中的基础了,该认真学java了 *\/

java 定义学生类,并在main方法中创建学生类对象,并调用学生类定义的方...
public class Student { private String id; private String name; private String profession; private String major; public Student(){ } public Student(String id,String name,String major){ this.id = id; this.name = name; this.major = major; } pu...

myeclipse 中怎么样新建一个java的类的,详细的步骤是什么?谢谢!_百度知...
myeclipse中新建Java类步骤如下:1、点击左上角“File”,鼠标移到“new”,点击“Java Project”2、在“Project name”处填入文件名称,也就是项目名 3、找到刚才新建的项目,双击打开 4、在“src”右击,选择“new”子菜单里面的“Class”5、给新建的Java类取名,例如Hello 6、点击下方的Finish 7、...

java中如何定义常量
1、java中使用final和static关键字定义常量。首先打开编辑器,编写代码。当常量作为一个类的变量时,一定要给它赋值,否则编译会失败的。然后定义一个YEAR的常量,用来表示年,一年365天是固定的,这里习惯上大写,然后赋值为365:3、static关键字是静态的意思,final前面说了是用来定义常量的,int是整型的...

java中创建一个类
public class Test { private String label;public Test() { this.label = "default";} public Test(String label) { this.label = label;} public String getLabel() { return label;} }

舞阳县19897157636: 怎样在JAVA中创建一个Animl :Pig(); Dog () ;等等这样一个继承结构基类中提供对所有动物通用的方法 -
盛薇奥勃: 执行的是基类覆盖后的方法

舞阳县19897157636: 如何用Eclipse建立一个Java应用程序 -
盛薇奥勃: Eclipse 是一个开放源代码的、基于Java的可扩展开发平台.就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境.Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK),这是进行Java开...

舞阳县19897157636: JAVA中如何用随机数创建对象 -
盛薇奥勃: public class Fangfa{ double r; int num,j,k; double getPerimeter() { return r*2*Math.PI; } double getArea() { return r*r*Math.PI; } void getRadius(double r) { this.r=r; } void disp() { j= (int) (Math.random() * 100); k= (int) (Math.random() * 100); r=k; System....

舞阳县19897157636: 如何在eclipse中新建java工程 -
盛薇奥勃: 首先,新建一个工程(“File”》“new”》“Project”;然后,要创建一个包(在工程上的“右键”》“新建”》”Package“;最后,就可以建一个类(“对应的包上点击右键》”new“》”class“).

舞阳县19897157636: Eclipse如何创建JavaBean -
盛薇奥勃: JavaBean 其实只是个普通的 Class ,只不过额外满足一些约定——一般所有属性都是 private 私有的,并且所有属性都有 公有的(public) get 和 set 方法.满足以上两点的类或者实例,我们就基本可以认为是一个 JavaBean. 所以 >>那就是说...

舞阳县19897157636: eclipse中怎么建maven工程 -
盛薇奥勃: 第一步:配置m2e插件信息 点击window->preferences->Maven->Installations中点击add,配置本地maven地址.接着配置user Settings信息,点击window->preferences->Maven->user Settings,选择您自己下载的maven的settings信息.第二步:...

舞阳县19897157636: 怎么在eclipse中建立第一个HelloWord的Java工程 -
盛薇奥勃: Eclipse可以开发Java,下面介绍一下项目的开发流程.工具/原料 Eclipse 方法/步骤1、打开Eclipse,选择空白处,右击,选择New-->Other,如图所示:2、选择“Java”中的“Java Project”,开始创建Java项目,如图所示:3、输入Java项目...

舞阳县19897157636: java请简述数组创建的过程,如何创建一个对象数组? -
盛薇奥勃: 假如创建一个String类型的数组.String [] x = new String[5];然后分别对数组中的5个元素进行赋值.也可以在创建的时候直接初始化: String [] x = {"a","b","c","d","e"};

舞阳县19897157636: 在Eclipse中怎么创建Servlet和JavaBean? -
盛薇奥勃: 在Eclipse中选择新建一个项目,其中选择tomcat project,然后点击下一步,输入项目名字,点下一步,出现下一个项目设定的画面,点击完成按钮,然后打开eclipse左边的project,可以看到建立的servlet项目已经出现了创建javabean操作步骤...

舞阳县19897157636: 如何创建一个java maven工程 -
盛薇奥勃: 1、用Maven模板创建一个项目 打开控制台,进入到想要创建项目的目录,然后运行如下命令,参数自由填写: 1 mvn archetype:generate -DgroupId={project-packaging} 2 -DartifactId={project-name} 3 -DarchetypeArtifactId=maven-archetype-...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网