导航:首页 > 编程语言 > java反射例子

java反射例子

发布时间:2025-01-19 20:45:50

java 泛型对象能实例化吗T t=new T()

java中没法得到泛型参数化类型,因为在编译期没法确定泛型参数化类型,也就找不到对应的类字节码文件,自然就不行了
泛型反射的关键是获取ParameterizedType,再调用它的getActualTypeArguments()方法获得实际绑定的类型。但注意public class BookManager<Book>是不能被反射的,因为擦拭法的缘故。只有在Superclass 或者成员变量(Field.getGenericType())等有函数返回ParameterizedType的时候才能成功反射,

你要么搞个构造函数把参数类型传进去才行

⑵ c#或java里子类对象赋值给父类有什么用,举几个例子啊。

里氏替换原则:

定义一:如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1都代换成o2时,程序P的行为没有发生变化,那么类型S是类型T的子类型。
定义二:所有引用基滑租类的地方必须能透明地使用其子类的对象。

大概的要求是:

1、父类对象指向子类实例,向上转型和向下转型是里氏替换的一种应用。

2、子类必须完全实现父类的方法,父类对象出现的地方都可以用子类对象进行替换。

这是里氏替换的主要内涵,下面对这两种体现分别进行代码举例。

定义一个抽象类Person:

public abstract class Person{

public abstract String getDetails();

}

用Student类来继承Person

public class Student extends Person{

private String stuName;

private int age;

private double score;

public Student() {

super();

// TODO Auto-generated constructor stub

}

public Student(String stuName, int age, double score) {

super();

this.stuName = stuName;

this.age = age;

this.score = score;

}

@Override

public String getDetails() {

// TODO Auto-generated method stub

return this.stuName + this.age + this.score;

}
}

在Test类里面可以用:

Person person = new Student();//这举笑是向上转型。

也可以定义:

Student student = new Student(“stu”,19,99);

可以将student对象用在所有应该使用Person类型的地方。

Private List<Person> person = new ArrayList<Person>信答兆();

Person.add(student);

⑶ java语言,什么是初始化啊初始化和实例化一样吗

java中不管对象也好,还是基本数据类型也好,你声明它的时候,它们都称为变量,在你使用变量前给变量进行赋值,这就是变量的初始值,因此叫变量初始化。

实例化是指对象的创建,一般是指通过 new 关键字(当然还有其他途径,比如反射),在堆中为对象分配内存,这就是实例化。举个非常简单的例子,你知道飞机会飞,但飞机在你脑海里只是个概念,当真的把飞机制造出来,变成实实在在的,存在于物质世界(java中称内存)的东西时,你才能用它来飞。如果在物质世界(内存)中根本就不存在,那就无法使用。因此,实例化可以说将概念(类),变成实际存在(内存中存在)的过程就称为实例化。

⑷ 求Java自学视频 从基础教程到进阶实例,万分感谢啊 。

详细,包含知识点多的,你可以看看动力节点java基础视频大全。里面有很多深入且精彩的讲解,比如源码分析分析讲的特别到位,尤其是HashMap的工作原理和源码分析,真正的把jdk源码翻了一遍,要是拿着这个去面试绝对是秒杀级神器。

⑸ 求java工厂模式的一个简单代码例子,尽量简单

这个应该比较简单一点。

某系统日志记录器要求支持多种日志记录方式,如文件记录、数据库记录等,且用户可以根据要求动态选择日志记录方式。现使用工厂方法模式设计该系统,并写出相应Java代码。


interface Log{

public void writeLog();

}


class FileLog implements Log{

public void writeLog(){

System.out.println("文件记录");

}

}


class DatabaseLog implements Log{

public void writeLog(){

System.out.println("数据库记录");

}

}


interface LogFactory{

public Log createLog();

}


class FileLogFactory implements LogFactory{

public Log createLog(){

return new FileLog();

}

}


class DatabaseLogFactory implements LogFactory{

public Log createLog(){

return new DatabaseLog();

}

}


public class Client{

public static void main(String[] args) {

try{

Log log;

LogFactory factory;

//这里可以改成使用DOM和Java反射机制读取XML文件,获取工厂类名

factory=new DatabaseLogFactory ();

log=factory.createLog();

log.writeLog();

}

catch(Exception e){

System.out.println(e.getMessage());

}

}

}

阅读全文

与java反射例子相关的资料

热点内容
java中exceptionin 浏览:878
java131 浏览:864
学英语不登录的app哪个最好 浏览:299
安卓的后台运行怎么设置 浏览:135
如何撰写论文摘要以及编译sci 浏览:416
安卓如何使用推特贴吧 浏览:429
怎样避免程序员入狱 浏览:856
苹果方块消除安卓叫什么 浏览:535
安卓世界征服者2怎么联机 浏览:297
国企招的程序员 浏览:969
哪个app可以看watch 浏览:518
dns备用什么服务器 浏览:1002
中达优控触摸屏编译失败 浏览:80
上海科纳压缩机 浏览:680
python工时系统 浏览:551
查好友ip命令 浏览:118
通达信python量化交易 浏览:506
cnc编程工程师自我评价 浏览:132
书本文件夹夹子怎么安 浏览:803
如何更改编译器的背景 浏览:86