JAVA学习之——类和对象部分

JAVA学习之——类和对象

前言

面向对象编程是一种根据具体某个物品(对象)而抽象出一个该类物品所具有的共同特征的一种思想。也是JAVA学习的重点和基础。以下将根据本人个人的学习与理解来总结一下“类和对象”这块的知识点,以便初学者更好入门。学生党第一次写博客,请各位大佬们多多担待,有错误也请及时指出。

对象和类

首先简单的介绍一下对象:
首先需要说的是“万物皆对象”这一概念。生活中所有的具体的物品实例都可以称之为对象。细到我们身边的一个鼠标,喝水用的一个水杯,这些具体的实例物品都可以称之为对象。
然后再简单的介绍一下类:
类可以理解为“类别”,即根据多个对象所抽象出来的共同特征而组成的类别。举个例子,比如说你家里买了2台车,一台是黑色的奔驰,一台白色的宝马。那么我们就可以根据这具体的2台车的共同特征

  • 都有4个轮子
  • 都可以跑
  • 都有一个品牌
  • 都有颜色

等等的这些特征而抽象出“汽车”这个类别。根据对大量的实例对象的共同特征进行分析,我们也可以推测出所有汽车都有的这些特征,然后建立起“汽车”这个类别。

总结:
对象是具体实例,类是对象的模板。一个类可以有多个对象。同一类的不同对象与对象之间结构相同(即类的结构是一致的),数据不同(类中的具体数据不同,比如说车子的“颜色”这个特征不同)
JAVA类的建立思路:
首先对多个具体的实例对象进行观察分析,抽出这些其共同的部分,然后抽象并建立出具体的类。

类和对象的具体介绍

类通常用class关键字进行修饰,语法为:

class Student
{
	//属性
	//方法
}

属性:
属性是指类的对象所拥有的具体特征(通常是名词)。在上面的Student类中,属性可以是:姓名,班级,学号,性别等用来描述一个学生的具体信息的变量。
方法:
方法是指该类的对象所拥有的具体“行为”(通常是动作)。如一个学生可以吃饭,睡觉,打游戏等。
根据上面的分析整合可得如下代码:

class Student
{
	//属性部分
	String name;
	int id;


	//方法部分
	void eat()
	{
		System.out.println("学号为"+id+"的"+name+"在吃饭");
	}
	void sleep()
	{
		System.out.println("学号为"+id+"的"+name+"在睡觉");
	}
	void playGame()
	{
		System.out.println("学号为"+id+"的"+name+"在打游戏");
	}
}

好了,这样的一个简单的仅仅包括姓名、学号这2个属性,吃饭睡觉等行为的学生类就建立起来了。那么接下来的问题是怎么使用它建立具体的实例对象了。
建立实例对象的语法

Student(类名) stu(对象名)=null;//1
stu=new Student();//2

首先我们来分析一下第1行代码:
用文字来表示就是:
类名 对象名=初始值;
这玩意是不是有点熟悉?看起来是不是跟刚开始学编程的:
int a=1;
有点像?
没错,当我们暂且把int看作类名,a看作变量名,1看作初值的话,这些都是可以一样的理解。不过强调一下,这只是为了入门方便理解可以这样想,当你学到后面你会知道这其实是不对的。毕竟int是基本类型,a也是基本类型变量,跟引用类型变量完全是2个东西,严格的来说是无法参与面向对象开发的(除非你把它变成包装类)。包装类知识介绍下次再说。
然后就是第2行代码了:
等号左边的stu是变量名。右边是创建一个新的引用类型变量的操作语句。当有了第二行代码时,才是将一个对象创建成功。
以上的1、2俩行代码也可以合成一行:

Student stu=new Student();

好了,有一点我们要明白的是,这次创建的对象知识个空的对象,也就是说只是有一个学生的“空皮囊”,他的具体信息(属性和方法)还啥都没有呢!如果这时候我们加个main方法。

class StudentTset
{
	public static void main(String[] args)
	{
			Student stu=new Student();
			System.out.println("我名字是"+stu.name);//对象访问类的数据时,要用对象名.你要访问的数据。
			stu.eat();
	}
}

这时可以看看输出结果,你会发现输出的是:
我的名字是null
学号为0的null在吃饭


这是为啥?不是说只有空皮囊吗?为啥没有赋值名字就输出null了,学号就输出0了?
是这样子的,java里的成员变量默认都会赋一个初值,其中引用类型的变量初值为null。基本类型的变量,如int的初值是0。

那么我们要怎么对类产生的对象实例进行赋值和访问呢?
最简单的方法就是用:对象名.成员名进行访问了(当然,后面有权限的情况时我会另外说)。
假设我要初始化为:学号为10086,姓名为张三 的一个学生我该怎么做呢?
就暂且先按照对象名.成员名=初值这个语句进行赋值吧!

class StudentTset
{
	public static void main(String[] args)
	{
			Student stu=new Student();
			stu.name="张三";
			stu.id=10086;
			System.out.println("我名字是"+stu.name);//对象访问类的数据时,要用对象名.你要访问的数据。
			stu.eat();
	}
}

这样就会输出:
我名字是张三
学号为10086的张三在吃饭


但是不得不说,这样子进行初始化还是很繁琐的,一般很少有人会这样来初始化。但是学习也是要由浅入深不是吗?后面的内容我下回再介绍吧!

总结

本次用我觉得最简单的方式介绍了一下基本类和对象的基本概念(当然还是入门级别的了),然后简单的提了一下对象的使用以及初始化操作。如果这篇文章能够有人看,并且对你们有所帮助的话我还是会尽量以后继续写下去的。说实话,这次的第一篇文章只是我心血来潮,突然想写写看来着,看看能不能对你们有所帮助吧!谢谢各位啦!

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值