java实现类的代码实例 java写一个类

java中如何以给定的字符串为名字创建某个类的实例?可以用反射根据给定的类名来动态生成实例
比如你定义了一个类
package sample;
/**
* Created by pseudo on 15-9-16.
*/
public class TestClass {
private String name;
public TestClass(String name) {
this.name = name;
}
@Override
public String toString() {
return "TestClass{"
"name='"name'\''
'}';
}
}
然后使用如下代码创建这个类的一个实例
public static void main(String[] args) throws Exception{
//加载要反射的类
Class clz = Class.forName("sample.TestClass");
//找到类的构造方法
Constructor constructor = clz.getDeclaredConstructor(String.class);
//使用找到的构造方法创建实例
Object instance = constructor.newInstance("Lilei");
System.out.println(instance);
}
这个instance就是需要的结果
用java实现类和对象的反射,代码最好有注释,谢谢给你一个小的实例代码:
import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;
public class test {
public static void main(String args[]) throws NoSuchMethodException,
IllegalAccessException, InvocationTargetException {
Foo foo = new Foo("这个一个Foo对象!");
Class clazz = foo.getClass();
Method m1 = clazz.getDeclaredMethod("outInfo");
Method m2 = clazz.getDeclaredMethod("setMsg", String.class);
Method m3 = clazz.getDeclaredMethod("getMsg");
m1.invoke(foo);
m2.invoke(foo, "重新设置msg信息!");
String msg = (String) m3.invoke(foo);
System.out.println(msg);
}
}
class Foo {
private String msg;
public Foo(String msg) {
this.msg = msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getMsg() {
return msg;
}
public void outInfo() {
System.out.println("这是测试Java反射的测试类");
}
}
java程序 , 抽象类实现 , 求具体代码package test;
/**
*
* @author JinnL
*父类抽象类
*/
public abstract class Car {
//转弯
abstract void turn();
//启动
abstract void start();
void what(){
System.out.println("this is" this.getClass().getSimpleName());
}
public static void main(String[] args) {
/**
* 方法入口
*/
Car[] cars ={new Bicycle(),newAutomobile(),new GasAutomobile(),new DieselAutomobile()};
for (Car car : cars) {
car.start();
}
}
}
class Bicycle extends Car{
@Override
void turn() {
System.out.println("this is" this.getClass().getSimpleName());
}
@Override
void start() {
System.out.println("this is" this.getClass().getSimpleName());
}
voidwhat(){
}
}
classAutomobile extends Car{
@Override
void turn() {
System.out.println("this is" this.getClass().getSimpleName());
}
@Override
void start() {
System.out.println("this is" this.getClass().getSimpleName());
}
}
class GasAutomobile extends Automobile{
//重写startturn
@Override
void turn() {
System.out.println("this is" this.getClass().getSimpleName());
}
@Override
void start() {
System.out.println("this is" this.getClass().getSimpleName());
}
}
class DieselAutomobile extends Automobile{
@Override
void start() {
System.out.println("this is" this.getClass().getSimpleName());
}
voidwhat(){
System.out.println("this is" this.getClass().getSimpleName());
}
}
求关于JAVA的实现类的程序抽象类imp
abstract class imp {//抽象类
public abstract void youName();//你的名字
public abstract void youNameAndAge();//你的名字和年龄
}
用户类User
public class User {
String name;
int age;
public User(){}
public User(String name){//构造方法
this.name = name;
}
public User(String name, int age){//即是构造方法又是方法重载
this.name = name;
this.age = age;
}
}
用户A类基础抽象类
public class A extends imp{//A类继承抽象类
public void youName() {//重写了父类的youName方法
User user = new User("A");
System.out.println("我的名字叫:" user.name);
}
public void youNameAndAge() { //重写了父类的youNameAndAge方法
User user = new User("A",18);
System.out.println("我叫:" user.name ",今年" user.age "岁");
}
}
用户B类继承抽象类
public class B extends imp{//B类继承抽象类
public void youName() { //重写了父类的youName方法
User user = new User("B");
System.out.println("我的名字叫:" user.name);
}
public void youNameAndAge() { //重写了父类的youNameAndAge方法
User user = new User("B",19);
System.out.println("我叫:" user.name ",今年" user.age "岁");
}
}
测试类
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println("你叫什么名字?");
imp a = new A();
a.youName();
imp b = new B();
b.youName();
System.out.println("你叫什么名字芳龄多少?");
a.youNameAndAge();
b.youNameAndAge();
}
}
Java如何实现多个类引用同一个类的实例Java多个类引用同一个类的实例,可以用单例实现
运行结果如下:
代码如下:
class Single{
private static Single object;
private Single(){}
public static Single getObject(){
if(object==null) object=new Single();
return object;
}
}
class A{
public static Single getObject(){
return Single.getObject();
}
}
class B{
public static Single getObject(){
return Single.getObject();
}
}
public class Test {
public static void main(String[] args){
if(A.getObject()==B.getObject())
System.out.println("类A和类B引用了同一个类的实例");
}
}
【java实现类的代码实例 java写一个类】关于java实现类的代码实例和java写一个类的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读