ssh实验截图

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二.多态和反射部分

1.多态

A.静态多态

packageduotai;

class customer{

private String account;

private String password;

// 三种静态多态爆楼参数个数不同; 参数个数相同类型不同; 个数和类型相同出现的顺序不同

public customer(){

System.out.println("构造函数1");

}

public customer(String account,String password){

System.out.println("构造函数2");

this.account=account;

this.password=password;

}

}

public class JTcustomer{

public static void main(String[] args) {

customer cus1=new customer();//调用构造函数1

customer cus2=new customer("11111","nihao");//调用构造函数2

}

}

B. 动态多态

一般在继承时使用

packageduotai;

abstract class person{

public abstract void printinfo();//定义一个抽象类函数

}

class student extends person{

public void printinfo(){

System.out.println("学生打印");

}

}

class teacher extends person{

public void printinfo(){

System.out.println("老师打印");

}

}

public class DTstudent {

public static void print(person p){

p.printinfo();

}

public static void main(String[] args) {

print(new student());

print(new teacher());

}

}

2.反射

这是一个customer

packagefanshe;

public class customer{

private String account;

private String password;

public customer(){

System.out.println(getString("构造函数1"));

}

public customer(String account,String password){ System.out.println(getString("构造函数2")); this.account=account;

this.password=password;

}

public void printinfo(){

System.out.println(getString("账号")+account+Messages.getString("密码")+password); //$NON-NLS-1$ //$NON-NLS-2$

}

}

进行测试

Text1

String classname=("fanshe.customer");

// 得到类的消息

Class c = Class.forName(classname);

// 得到构造函数

Constructor[] con =c.getConstructors();

for(inti=0;i<=con.length;i++){

System.out.println(("名字:")+con[i].getName());

// 得到参数类型

Class[]para=con[i].getParameterTypes();

for(int j=0;j<=para.length;j++){

System.out.println(para[j].getName());

}

}

// 得到成员函数

Method[] math=c.getMethods();

for(inti=0;i<=math.length;i++){

System.out.println("名字"+math[i].getName());

Class[]para=math[i].getParameterTypes();

for(int j=0;j<=para.length;j++){

System.out.println("得到参数"+para[j].getName());

}

}

}

Text2

packagefanshe;

ng.reflect.Constructor;

ng.reflect.Method;

public class test2 {

public static void main(String[] args) throws Exception {

String classname=("fanshe.customer");

Class c=Class.forName(classname);

Constructor cons=

c.getConstructor(new Class[]{Class.forName("java.long.String"),

Class.forName("java.long.String")});//得到带参数的构造函数

//生成对象

Object obj=cons.newInstance

(new Object[]{"2222","1111"});//表示传入"2222","1111"参数

//调用Object的方法

Method meth=c.getMethod("printinfo", new Class[]{});//得到方法meth.invoke(obj, new Object[]{});

customercus=new customer("2222","1111");

cus.printinfo();

}

}

Text2相当与

customercus=new customer(“2222”,”1111”);

cus.printinfo();

相关文档
最新文档