zoukankan      html  css  js  c++  java
  • 吴裕雄--天生自然JAVA反射机制学习笔记:Class类的使用

    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()
        }
    };
    package org.lxh.demo15.instancedemo ;
    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 InstanceDemo02{
        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()
        }
    };
    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()
        }
    };
  • 相关阅读:
    服务器监控
    Ubuntu16.04安装印象笔记
    在vi中打开多个文件,复制一个文件中多行到另一个文件中
    Ubuntu16.04安装和卸载MySQL 5.7
    Ubuntu16.04 sever 安装
    查看ubuntu 各系统的内核版本
    Ubuntu16.04中查看硬盘的型号和读取速度
    python 实现3-2 问候语: 继续使用练习 3-1 中的列表,但不打印每个朋友的姓名,而为每人打印一条消息。每条消息都包含相同的问候语,但抬头为相应朋友的姓名。
    线程
    并发编程
  • 原文地址:https://www.cnblogs.com/tszr/p/12416964.html
Copyright © 2011-2022 走看看