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();
    		}
    	}
    
    }
    

      

  • 相关阅读:
    LOJ 2550 「JSOI2018」机器人——找规律+DP
    LOJ 2548 「JSOI2018」绝地反击 ——二分图匹配+网络流手动退流
    2019.4.24 一题(CF 809E)——推式子+虚树
    LOJ 2551 「JSOI2018」列队——主席树+二分
    bzoj 2632 [ neerc 2011 ] Gcd guessing game —— 贪心
    bzoj 1927 星际竞速 —— 最小费用最大流
    bzoj 2535 & bzoj 2109 航空管制 —— 贪心+拓扑序
    bzoj 3671 随机数生成器 —— 暴力
    bzoj 2395 Timeismoney —— 最小乘积生成树
    bzoj 3157 & bzoj 3516 国王奇遇记 —— 推式子
  • 原文地址:https://www.cnblogs.com/hackermi/p/5354078.html
Copyright © 2011-2022 走看看