重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

java构成世界代码 java代码长什么样

在Java中动态二次元世界怎么制作

由于开发需要(为界面提供扩展外观),最近研究了一下从运行Jar中代码的实现。发现Java中的ClassLoader搭配上反射功能就能实现,基本思路如下:

创新互联建站专注于企业营销型网站建设、网站重做改版、尼金平网站定制设计、自适应品牌网站建设、H5开发商城建设、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为尼金平等各大城市提供网站开发制作服务。

编写一个接口,让编写的外部需要运行的类(要放到Jar中的)实现这个接口。

通过ClassLoader加载那个Jar文件,得到一个Class。然后newInstance()创建一个对象

然后按照接口中的方法去调用指定函数

代码例子:

制作一个Java的记事本程序(NotePad)

然后会从Style.jar中加载程序所需要的样式

其中Style.jar中有一个MyStyle的类实现了一个StyleInterface的接口

接口代码如下:

public interface StyleInterface {

public String getStyle();

}

MyStyle类的代码如下:

public class MyStyle implements StyleInterface{

@Override

public String getStyle() {

return "我是从MyStyle中得到的样式代码!";

}

}

然后,在记事本主程序程序中通过如下方式调用:

String class_path = "MyStyle";//Jar中的所需要加载的类的类名

String jar_path = ":\Style.jar";//jar所在的文件的URL

try {

ClassLoader cl = new URLClassLoader(new URL[]{new URL(jar_path)});//从Jar文件得到一个Class加载器

Class? c = cl.loadClass(class_path);//从加载器中加载Class

StyleInterface sif = (StyleInterface) c.newInstance();//从Class中实例出一个对象

System.out.println(sif.getStyle());//调用Jar中的类方法

} catch (MalformedURLException e) {

e.printStackTrace();

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (InstantiationException e) {

e.printStackTrace();

} catch (IllegalAccessException e) {

e.printStackTrace();

}

注意:

class_path必须是完整类名(连同所在的包的路径),例如:在myjava.test下有一个类Test,则Test的完整类名是:myjava.test.Test.而如果是在"缺省包"下的类,就可以省略包的路径(本来就没有)。

jar_path不是Jar文件的路径,而是Jar文件的URL。

通常可以这样表示:"文件的绝对路径"

从Class中实例出对象时,一定要把Object强制转换成实现指定接口的类,就想例子中的StyleInterface

java编写动物世界的继承关系代码

我写了一个,内容比较简单的。代码如下:public class AnimalTest {

Animal animal;

public void eat(Animal animal){

animal.eat();

}

public void walk(Animal animal){

animal.walk();

}

public static void main(String args[]){

Animal animal=new Animal("animal");

Wolf w=new Wolf("wolf");

Goat g=new Goat("goat");

AnimalTest at=new AnimalTest();

at.eat(animal);

at.eat(w);

at.eat(g);

at.walk(animal);

at.walk(w);

at.walk(g);

}

}

class Animal {

String name;

public Animal(String name){

this.name=name;

}

public Animal(){}

public void setName(String name){

this.name=name;

}

public String getName(){

return name;

}

public void eat(){

System.out.println("animal eat");

}

public void walk(){

System.out.println("animal walk");

}

public String toString(){

return name;

}

}class Wolf extends Animal {

public Wolf(String name){

super(name);

}

public Wolf(){}

public void eat(){

System.out.println("wolf eat meat");

}

public void walk(){

System.out.println("wolf walk");

}

public String toString(){

return name;

}

}class Goat extends Animal {

public Goat(String name){

super(name);

}

public Goat(){}

public void eat(){

System.out.println("goat eat grass");

}

public void walk(){

System.out.println("goat walk");

}

public String toString(){

return name;

}

}

1、 编写一个输出“欢迎来到java编程世界”的程序,用两种方式实现(Application /Applet)

Application 程序如下:

public class Welcome {

public static void main(String[] args)

{

System.out.println("欢迎来到java编程世界");

}

}

Applet 程序如下:

import java.awt.Container;

import javax.swing.JLabel;

import javax.swing.JApplet;

import javax.swing.JButton;

import javax.swing.JPanel;

public class WelcomeApplet extends JApplet

{

public void init()

{

Container con = getContentPane();

JPanel panel = new JPanel();

JLabel label = new JLabel("欢迎来到java编程世界");

panel.add(label);

JButton okButton = new JButton("OK");

panel.add(okButton);

con.add(panel);

}

}

把源文件编译成class文件,再创建一个HTML文件,代码如下:

applet code="WelcomeApplet.class" width=300 height=100

/applet

“欢迎进入精彩java世界”用java编程

application:

public class Test;

public static void main(String args[]){

System.out.println("欢迎进入精彩java世界");

}

applet:

applet代码:

import java.awt.*;

import java.applet.Applet;

public class TestApplet extens Applet ;

public void paint(Graphics g){

g.drawString("欢迎进入精彩java世界",40,80);

}

html代码:

html

body

applet code="TestApplet.class"

/body

/html


新闻名称:java构成世界代码 java代码长什么样
文章地址:http://cqcxhl.com/article/dojjpgc.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP