前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【个人记录】JAVA基础语法之类和对象

【个人记录】JAVA基础语法之类和对象

作者头像
用户11292525
发布2024-09-26 11:11:13
790
发布2024-09-26 11:11:13
举报
文章被收录于专栏:学习

1.  类 和 实例化

1.  类只是一个模型一样的东西,用来对一个实体进行描述,限定了类有哪些成员

2.  类是一种自定义的类型,可以用来定义变量. 相当于搞了个类似int,double的新类型,不同的只是int,double是JAVA的内置类型

3.  一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间,存储类成员变量

4.  通俗说,类就像一个说明书,一个建筑的大概图样设计,(只设计出需要什么东 西,但是并没有实体的建筑存在 )而实例化对象就需要 你真的去搞一个实体的东西,并按说明书给他描述呈现出来。

上述内容用JAVA表示类似如下

具体代码呈现,,以一个学生为例

代码语言:javascript
复制
// 定义 学生 的类型

public class Student {

// 成员属性(变量)

public String name;

public String gender;

public int age;

public double salary;

// 成员行为(方法)

public void Doclass (){};

public void Eating (){};

public void Sleeping (){};

}

// 对具体学生进行 实例化呈现

public static void main(String[] args) {

// 学生1 可可

Student student1 = new Student();

student1.name = "coco";

student1.gender = "女";

student1.age = 15;

student1.salary = 1234.5;



student1.Doclass ();

student1.Eating ();

student1.Sleeping ();

// 学生2 杰克

Student student2 = new Student();

student1.name = "Jack";

student1.gender = "男";

student1.age = 18;

student1.salary = 5432.5;



student1.Doclass();

student1.Eating();

student1.Sleeping();

}

注意 !

1. 用new创建一个新对象的实例

2.  使用. 访问对象中的属性和方法

3.  同一个类可以创建多个实例

2.  封装

如果上述的private 定义了年龄和姓名,就只能在本Student类中使用,这样一来想改,就直接直接在当类中多设置如图,SetName 和 GetName 两个函数修改(快捷修改方式:鼠标右键

然后就会出现

)

3.  import导入

Arrays 和 Data 都是import java.util.低下的文件

我们可以合二为一

当然,若不同的路径下的文件都有相同名字的(如Date)的文件,则无法同时定义两个*

4.  自定义包

见“7.类与对象 /23”

5.  static修饰

由上图可知,我们的“类”是Student

“对象”则是自己分别定义的Student student1 =new Student();中的student1

调用静态方法: student.classRoom() (用类来调用)

调用非静态方法 : student1.function() (用对象来调用)

【静态方法特性】

1.  不属于某个具体的对象,是类方法

2.  可以通过对象调用,也可以通过类名.静态方法名(...)方式调用,更推荐使用后者

3.  不能在静态方法中访问任何非静态成员变量

6.  this的引用

类似于引用的名字 如下this. year类似 于d. year(个人理解 )

this只能在成员方法中使用

this是“成员方法”第一个隐藏的参数,编译器会自动传递,在成员方法执行时,编译器会负责将调用成员方法 对象的引用传递给该成员方法,this负责来接收

7.  构造 方法

奇怪的一点是,之前的局部变量都需要初始化 赋值,而在创建类的时候,成员变量却不用,这是为什么呢?

原因是,在JAVA中,它有给一个隐藏的初始化赋值的构造 方法

这个隐藏的构造方法中,默认初始化的变量如下表格

数据类型

默认值

byte

0

char

'\u0000'

short

0

int

0

long

0L

reference

null

boolean

false

double

0.0

float

0.0f

如果你要另行初始化一个值,需要通过构造方法来实现

即:构造方法的作用, 就是给对象中的成员进行初始化, ,并且这个过程中没有给对象新开辟空间

构造 方法:一般用public修饰 ,方法名必须与类名相同

如下创建了一个Student型的对象,并且通过如下的赋值调用了Student(String,String,int,doublle)的构造方法

小总结:

1. 构造方法的方法名必须与类名相同

2.  没有返回值,void也不能用,必须是 public 方法名(){};

3.  在创建对象的编译器 自动调用,且在对象的生命周期内只能调用一次

(举个例子,你一生只能出生一次吧)

4.  支持重载,可以根据不同需求设置不同参数的构造方法,如下

5.  可以通过this()来调用其他构造方法来简化代码

且this必须是构造方法第一条语句

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-08-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.  类 和 实例化
  • 2.  封装
  • 3.  import导入
  • 4.  自定义包
  • 5.  static修饰
  • 6.  this的引用
  • 7.  构造 方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档