外链论坛

 找回密码
 立即注册
搜索
查看: 87|回复: 3

一篇文案彻底搞懂Java的大Class到底是什么

[复制链接]

2626

主题

306

回帖

9778万

积分

论坛元老

Rank: 8Rank: 8

积分
97780540
发表于 2024-6-30 10:34:08 | 显示全部楼层 |阅读模式

作者在之前工作中,面试过非常多求职者,发掘非常多面试者对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,只是首字母大写了罢了,要我说当初就不该该起名

回复

使用道具 举报

0

主题

2万

回帖

1

积分

新手上路

Rank: 1

积分
1
发表于 2024-8-24 08:22:15 | 显示全部楼层
感谢你的精彩评论,带给我新的思考角度。
回复

使用道具 举报

1

主题

858

回帖

-3

积分

限制会员

积分
-3
发表于 2024-8-25 17:18:38 | 显示全部楼层
谷歌外链发布 http://www.fok120.com/
回复

使用道具 举报

2601

主题

229

回帖

9924万

积分

论坛元老

Rank: 8Rank: 8

积分
99240655
发表于 2024-9-4 02:49:53 | 显示全部楼层
楼主果然英明!不得不赞美你一下!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|外链论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-9-17 03:49 , Processed in 0.075099 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.