- 浏览: 117277 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
gtd03:
[b][/b][i][/i][u][/u]引用[*][img] ...
js 监听监键盘动作 -
tomfish88:
你用5条数据太少了,你用50000条你就看出差距了
多线程效率问题
1
获得类
package org.lxh.demo15.getclassdemo ;
class X{
};
public class GetClassDemo02{
public static void main(String args[]){
Class<?> c1 = null ; // 指定泛型
Class<?> c2 = null ; // 指定泛型
Class<?> c3 = null ; // 指定泛型
try{
// 以下的操作形式是在开发中最常用的一种形式
c1 = Class.forName("org.lxh.demo15.getclassdemo.X") ;
}catch(ClassNotFoundException e){
e.printStackTrace() ;
}
c2 = new X().getClass() ; // 通过Object类中的方法实例化
c3 = X.class ; // 通过类.class实例化
System.out.println("类名称:" + c1.getName()) ; // 得到类的名称
System.out.println("类名称:" + c2.getName()) ; // 得到类的名称
System.out.println("类名称:" + c3.getName()) ; // 得到类的名称
}
};
2
实例化
package org.lxh.demo15.instancedemo ;
class Person{
private String name ; // name属性
private int age ; // age属性
public void setName(String name){
this.name = name ;
}
public void setAge(int age){
this.age = age ;
}
public String getName(){
return this.name ;
}
public int getAge(){
return this.age ;
}
public String toString(){ // 覆写toString()方法
return "姓名:" + this.name + ",年龄:" + this.age ;
}
};
public class InstanceDemo01{
public static void main(String args[]){
Class<?> c = null ; // 声明Class对象
try{
c = Class.forName("org.lxh.demo15.instancedemo.Person") ;
}catch(ClassNotFoundException e){
e.printStackTrace() ;
}
Person per = null ; // 声明Person对象
try{
per = (Person)c.newInstance() ; // 实例化对象
}catch(Exception e){
e.printStackTrace() ;
}
per.setName("李兴华") ; // 设置姓名
per.setAge(30) ; // 设置年龄
System.out.println(per) ; // 内容输出,调用toString()
}
};
必须有无参构造方法
3
有参构造方法
package org.lxh.demo15.instancedemo ;
import java.lang.reflect.Constructor ; // 导入反射机制包
class Person{
private String name ; // name属性
private int age ; // age属性
public Person(String name,int age){
this.setName(name) ;
this.setAge(age);
}
public void setName(String name){
this.name = name ;
}
public void setAge(int age){
this.age = age ;
}
public String getName(){
return this.name ;
}
public int getAge(){
return this.age ;
}
public String toString(){ // 覆写toString()方法
return "姓名:" + this.name + ",年龄:" + this.age ;
}
};
public class InstanceDemo03{
public static void main(String args[]){
Class<?> c = null ; // 声明Class对象
try{
c = Class.forName("org.lxh.demo15.instancedemo.Person") ;
}catch(ClassNotFoundException e){
e.printStackTrace() ;
}
Person per = null ; // 声明Person对象
Constructor<?> cons[] = null ;
cons = c.getConstructors() ;
try{
per = (Person)cons[0].newInstance("李兴华",30) ; // 实例化对象
}catch(Exception e){
e.printStackTrace() ;
}
System.out.println(per) ; // 内容输出,调用toString()
}
};
- 031502_【第15章:JAVA反射机制】_CLASS类的使用笔记.PDF (222.8 KB)
- 下载次数: 3
发表评论
-
ServerSocket 多线程服务器开发
2011-04-24 16:24 1674package socket; import j ... -
InetAddress 获得IP
2011-04-24 15:43 1493import java.net.InetAddress ... -
接口的作用 宠物商店
2011-04-24 15:14 1167package PetShopDemo; inte ... -
Arrays
2011-04-24 14:15 769package ArraysTest; impor ... -
Cloneable 对象克隆
2011-04-24 14:08 1057class Person implements Clon ... -
System
2011-04-24 13:59 798package SystemTest; publi ... -
Collections
2011-04-24 13:40 1365import java.util.Collections ... -
TreeSet对象排序的方法
2011-04-24 13:09 1476package set; import java. ... -
HashMap 的两种遍历方式
2011-04-24 12:35 759public static void main(Str ... -
ENUMERATION接口
2011-04-23 14:51 787很少用 import java.util.Vec ... -
ListIterator
2011-04-23 14:44 9701 只能有List实例化 2 必须先有头到尾,才能由尾到头 ... -
Iterator
2011-04-23 14:36 1059import java.util.List ; imp ... -
List.subList 得到的新数组地址指向旧数组
2011-04-23 14:22 1063public static void main(Str ... -
SortedSet
2011-04-23 13:50 859import java.util.SortedSet ; ... -
HashSet TreeSet
2011-04-23 13:43 791import java.util.HashSet ; ... -
LinkedList 队列
2011-04-23 13:36 874import java.util.LinkedList ... -
List Vector
2011-04-23 13:14 759import java.util.ArrayList ; ... -
collection 接口
2011-04-23 12:09 680图片 -
HashSet 对对象去重
2011-04-21 23:00 3164import java.util.Set ; impo ... -
Properties 属性 properties xml
2011-04-21 22:40 932import java.util.Properties; ...
相关推荐
### Java反射机制详解 #### 一、Java反射机制概述 Java反射机制是Java语言中一个重要的特性,它赋予了Java程序动态操作的能力。通过反射,Java程序可以在运行时获取类的信息,并且可以创建和访问对象及其成员(如...
需要注意的是,C++20标准引入了对反射的初步支持,通过`std::reflect`命名空间提供了元对象表示法(Metaclass Representations, MROs),使得反射变得更加标准和高效。然而,目前这一特性尚未被所有编译器广泛支持,...
初步认识反射,我们可以从以下几个方面入手: 1. **Object类的`getClass()`方法**:每个Java对象都继承自Object类,因此可以调用`getClass()`来获取对象的Class对象。例如: ```java Person per = new Person(); ...
- Java源代码通常以.java文件保存,通过javac编译器编译成.class字节码文件。 - 开发工具如Eclipse, IntelliJ IDEA提供强大的代码编辑、调试和项目管理功能。 以上只是Java编程语言基础知识的一部分,随着学习...
在本文中,我们将深入探讨如何实现基于Java的动态对象装配,并着重于初步实现bean的`set`和`get`功能。这篇文章可能是通过一个名为`DYNC_Object.java`的源代码文件来演示这个概念的。 首先,让我们了解什么是Bean。...
Java入门阶段主要涉及安装Java开发环境(JDK),了解Java程序的基本结构,包括类(class)和主方法(main method)。Java程序始于public static void main(String[] args),这是每个Java应用程序的入口点。此外,还...
12. **反射与注解**:理解Java的反射机制,用于在运行时检查类、接口和方法。同时,学习注解的使用,以及自定义注解的实现。 13. **Java EE**:对于有进阶需求的学习者,课程可能会涉及Java企业版(Java EE)的基础...
12. **反射和注解**:反射允许程序在运行时检查类、接口、字段和方法的信息,甚至动态调用方法。注解是一种元数据,可以用来标记代码,提供编译时或运行时的元信息。 13. **泛型**:Java泛型允许在类型中使用类型...
学习者会了解Java安装配置,编写第一个Java程序,并区分`public class`与`class`的区别。 第二章深入Java语言基础,讲解了标识符、关键字、数据类型、运算符、字符编码和控制语句。此外,还涉及方法的初步使用和...
24.2.2 ClassTag、TypeTag与Manifest 457 24.3 Scala 的高级运行时反射API 458 24.4 宏 461 24.4.1 宏的示例:强制不变性 463 24.4.2 关于宏的最后思考 466 24.5 本章回顾与下一章提要 466 附录A...
Day05可能涵盖了抽象类(Abstract Class)和内部类(Inner Class)的概念。 第三章:JAVA-SE-01 这部分可能是对Java Standard Edition(Java SE)更深入的学习,可能涉及到文件I/O、异常处理、集合框架、反射、线程...
在掌握了基础之后,可以进一步探索Java集合框架(如ArrayList、LinkedList、HashMap等)、IO流、多线程、网络编程、反射等进阶主题。此外,对于想要在Web开发领域发展的学习者,还需要了解Servlet、JSP、Spring框架...
7. **Java反射API**:理解反射机制,包括Class类、Constructor类、Method类和Field类的使用,以及动态代理的概念。 8. **Java内存模型和垃圾回收**:了解JVM的工作原理,特别是内存区域划分,以及垃圾回收机制。 9...
- **具有无参构造函数**:这是JavaBean的基本要求之一,确保可以通过反射等机制创建JavaBean实例。 - **使用get/set方法访问其属性**:JavaBean的属性通常遵循JavaBeans规范,即通过get和set方法来访问和修改。 ...
2. **构造测试URL进行初步验证**: - 构造URL `http://111.198.29.45:46675/{{7*7}}` 来测试是否能够成功执行内嵌的表达式。 - 服务器响应`URL http://111.198.29.45:46675/49 not found` 表明了`7*7`被正确执行。...
- **应用场景**: 通常用于图像和对象的初步分割。 **四叉树分割 (Quadtree Segmentation)** - **定义**: 类似于棋盘分割,但能够创建不同大小的正方形。 - **实现**: 初始时,将图像分割成正方形网格,然后对不符合...
- **反射**允许程序在运行时获取类的信息,并创建和操作对象,这对于框架和工具库特别有用。 - **注解**提供了一种灵活的方式来添加元数据到程序元素上,可以被编译器或其他工具用来生成文档或代码等。 ##### ...
10. **反射**:了解反射机制,如何在运行时获取类的信息(Class对象),创建和调用对象,以及访问私有成员。 11. **枚举与注解**:理解枚举类型(enum)的使用,以及注解(Annotation)在代码元数据中的作用。 12....