五月十四号java基础知识点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了五月十四号java基础知识点相关的知识,希望对你有一定的参考价值。


class Person
private String name;
private int age;
public Person(String name,int age)
this.name = name;
this.age = age;

public void info(String prof,int score)
System.out.println("我的专业:"+prof+",我的成绩"+score);

@Override
public String toString()
return "姓名:"+this.name+",年龄:"+this.age;


public class app13_2
public static void main(String[] args)
Class<Person> pc = Person.class;
try//返回参数类型为String和int的构造方法
Constructor con = pc.getConstructor(String.class,int.class);
System.out.print("输出构造方法名称:"+con.getName());
Class []pt = con.getParameterTypes();
for (int i = 0; i <pt.length ; i++)
System.out.print(",参数:"+pt[i].getName());//输出构造方法参数类型


catch(NoSuchMethodException e)
e.printStackTrace();

Field []fls = pc.getDeclaredFields();//获得所有成员变量
for (Field f: fls
)
int mod = f.getModifiers();//获得修饰符
System.out.print("\\n 成员变量修饰符:"+Modifier.toString(mod));//输出修饰符
Class type = f.getType();
System.out.print(";名称:"+f.getName());
System.out.print(";类型:"+type.getName());

System.out.println(" ");
Method []mds = pc.getMethods();
for (Method m:mds
)
System.out.print("方法:"+m.getName());
System.out.println("参数个数:"+m.getParameterCount());//输出参数个数
Parameter[] par = m.getParameters();
int index = 1;
for (Parameter p:par
)
if(p.isNamePresent())
System.out.println("-----------第"+(index)+"个参数的信息----------------");
System.out.println("参数名:"+p.getName());//输出方法参数的名称
System.out.println("参数类型:"+p.getType());//输出方法类型的名称
System.out.println("泛型类型:"+p.getParameterizedType());//输出泛型类型
System.out.println("-------------------------------------------------");




Class类对象创建以及方法调用

 

1.内部类是包含在类中的类。也称嵌套类。主要作用:将逻辑上相关的类放在一起
包含内部类的类称为外部类,内部类可看做外部类一个成员,内部类也称成员类
2.内部类拥有自己的成员变量和成员方法,建立内部类可调用成员变量和方法
3.内部类不能与外部类重名,且内部类的内部类不能与任何一层外部类同名
4.外部类引用内部类时,必须内部类名前带外部类名字才能使用。用new运算符有创建
内部类时也要在new前面带对象变量
5.在外部类中,通过一个内部类对象引用内部类中的成员
在内部类中直接引用外部类成员
6.内部类创建对象从外部类之外被调用,必须将内部类声明为public

public class app13_3 
private int age;
public class Student
String name;
public Student(String n,int a)
this.name = n;
age = a;

public void output()
System.out.println("姓名:"+this.name+";年龄:"+age);


public void output()
Student stu = new Student("丁宝乐",16);
stu.output();


public static void main(String[] args)
app13_3 a = new app13_3();
a.output();

7.匿名内部类是一种特殊的内部类,没有类名,定义类或实现接口时生成该类一个对象
类的对象只用一次且定义类的同时就创建该类的一个对象,且类定义前面是new运算符
8.定义内部类时直接用其父类名字或它实现接口名字
语法格式如下:new TypeName()
匿名类的类体;//父类名或接口名,()里面不允许有参数

9.匿名内部类不能用时继承一个类又实现一个接口,也不能实现多个接口
10.匿名内部类没有名字,故没有构造方法和修饰符,创建对象不能带参数
11.匿名内部类返回的是一个对象引用,可将它直接使用或赋值给一个引用变量
如:TypeName obj = new TypeName()
匿名内部类实体
创建匿名内部类对象作为方法调用参数
如:someMethod(new TypeName()
匿名内部类类体
);

 

public class app13_4 
public static void main(String[] args)
(new inner()
//弥补内部类里面没有定义的方法
void setName(String n)
name = n;
System.out.println("姓名:"+name);


).setName("张华");//执行匿名内部类方法

static class inner

String name;

总结:内部类是类中的类,可调用外部类成员变量,但也是外部类的一个成员,故最后的实现还是要通过外部类定义对象实现方法的实现

匿名内部类是创建类的同时创建对象。且没有有参构造方法和修饰符,因为本身没有类名

可通过(new inner).setName();这是一个对象对方法的调用即(new inner)即是一个创建类的同时创建对象的匿名内部类,

且类名必须是其父类或者实现接口类的名称

new inner()大括号中是匿名内部类的类体,里面可以定义父类没有定义到的方法例如setName()方法

 

以上是关于五月十四号java基础知识点的主要内容,如果未能解决你的问题,请参考以下文章

五月十五号java基础知识点

五月十三号Java基础知识点

五月八号java基础知识点

五月十二号java基础知识点

四月二十四号日报

五月十七日数据库基础知识点