zoukankan      html  css  js  c++  java
  • java 构造方法 constructor demo笔记

    demo 地址 http://pan.baidu.com/s/1bo2FG1T

    package com.ws.study;
    
    /**
     * @author Administrator
     *
     */
    public class constructorA {
    	
    	/**
    	 * 构造函数
    	 */
    	public constructorA(){
    		System.out.println("这是一个无参数构造函数");
    		
    	}
    	
    	/**
    	 * 有参数的构造函数
    	 * @param i
    	 * @param j
    	 */
    	public constructorA(int i,int j){
    		System.out.println(i + "x" + j +"=" + i*j);
    		
    	}
    	
    	
    	public static void main(String[] args) {
    		
    		try {
    			/**
    			 *  先来个热身,给你一个字符串变量,它代表一个类的包名和类名,你怎么实例化它?你第一想到的肯定是new,但是注意一点:
    				A a = (A)Class.forName(“pacage.A”).newInstance();
    				这和你 A a = new A(); 是一样的效果。
    				newInstance()是方法 ,new 是关键字 创建对象的方式不一样,newInstance使用类加载机制,后者是创建一个新类
    				newInstance()只能调用无参构造方法,而new关键字创建对象不受限制。
    				newInstance()类已加载,已连接,new 类可以没被加载
    				newInstance()弱类型,低效率,只能调用无参构造。
    				new强类型,相对高效能调用任何public的方法。
    				Class.forName()返回的是类
    				Class.forNmae().newInstance()返回的object()
    			 */
    			constructorA cons= (constructorA) Class.forName("com.ws.study.constructorA").newInstance();
    			new constructorA(3, 2);
    		} catch (InstantiationException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (IllegalAccessException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (ClassNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		
    		
    		
    	}
    
    }
    

      

    /**
     * 
     */
    package com.ws.study;
    
    /**
     * @author Administrator
     *
     */
    public class constructorB {
    
    	/**
    	 * 
    	 */
    	public constructorB() {
    		System.out.println("这是一个无参数构造函数B");
    		// TODO Auto-generated constructor stub
    	}
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		
    		constructorA cona=new constructorA(1,2);
    		new constructorB();
    		try {
    			Class.forName("com.ws.study.constructorA").newInstance();
    		} catch (InstantiationException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (IllegalAccessException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (ClassNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    
    }
    

      

  • 相关阅读:
    Eureka获取服务列表源码解析
    Eureka客户端续约及服务端过期租约清理源码解析
    Eureka应用注册与集群数据同步源码解析
    Eureka重要对象简介
    EurekaClient自动装配及启动流程解析
    idea2019注册码
    EurekaServer自动装配及启动流程解析
    程序员的算法课(5)-动态规划算法
    程序员的算法课(4)-二分查找
    程序员的算法课(3)-递归(recursion)算法
  • 原文地址:https://www.cnblogs.com/hackermi/p/5354078.html
Copyright © 2011-2022 走看看