作者在之前工作中,面试过非常多求职者,发掘有非常多面试者对Java的 Class 搞不明白,理解的不到位,一知半解,一到用的时候,就不太会用。
由于自己本身以前刚学安卓的时候,乃至做安卓2,3年后,亦是对 java的 Class不是太清楚,因此想写一篇关于Java Class 的文案,无那样多专业名词,期盼用通俗的语言能把Java的 Class 这个概念讲明白,理解了Class后,Java的反射亦就好理解多了。
Class很容易,保准看了就明白,咱们先来熟悉一个最基本的概念,什么是类?
什么是类?
这个想必所有的学过面向对象编程语言的朋友应该都晓得,下面给出正式一点的描述 类便是具备某些一起特征的实体的集合
例如下面定义一个 Student 类
class Student{
String name;
int age;
public void learn(){
System.out.println("正在学习");
}
public int getAge(){
return age;
}
public void hello(String message){
System.out.println(message);
}
}
所有的学生都有一姓名,都有年龄,都要去学习,这些都学生的共性
那样既然所有的学生都有有些公共的特性,那样咱们Java(其它语言亦同样)语言中,所有的类是不是亦都有公共的特性呢?
是不是不太明白?所有的类都有公共的特性? 是的?没听错 咱们再定义一个类Book,如下
class Book{
private float price;
private String author;
}
所有的书都有 价格,作者等公共的特性(这儿为了简单,例子尽可能代码少点)
因此,不管是上面的Student,Book类,还是Java语言中的自带类例如String类
所有的类,都有下面的有些共性: 所有的类,都有一个类名:例如上面的 Student, Book, String类,再加上包名,假如包名是 com.test , 那样这些类的名字便是 com.test.Student , com.test.Book, com.test.String所有的类,都有0个或者多个字段,例如上面的 name,age,price,author所有的类,都有0个或多个办法,例如上面的learn()所有的类,都有修饰符,例如public,private,protected等所有的类,都有0个或多个静态办法等等等Class到底是什么?
经过上面的分析咱们晓得,所有的类都有有些公共特性,那样咱们就定义一个类,来描述这些公共特性,咱们暂且把这个类起个类名,叫 Info
其实咱们这儿的Info类,便是java中的Class,java中的Class其实便是个普通的类罢了,和其它的类没什么不同样的。不信瞧瞧Class定义
是不是便是一个普通的类,咱们把继承关系去掉,是不是便是下面这般了
public class Class {
....
}
可不便是个普通的类嘛,只不外类名亦叫Class,和java中的重要字class,只是首字母大写了罢了,要我说当初就不该该起名
|