[JAVA基础]0x00 类与对象

什么是类与对象?

我们知道,自然界中的生物有界门纲目科属种的分类,而具有相同或相似特征和作用的非生物,往往也被归为同一类。
比如,猴子和熊猫同属于哺乳动物,它们有相似的繁衍方式;而玻璃杯、瓷杯、保温杯同属于杯子,它们都能盛放液体。
这其实就是最原始的类的概念,它指的是具有相同特征和功能的物品的集合。而计算机领域中的类也是如此,不过此时,特征被称作类的属性,功能或行为被称作类的方法。类中的物品也就是类的对象。
类是对象的抽象模板,对象是类的具体实例。

Java中的类

面向对象和面向过程

Java是一门面向对象的语言,C++也是面向对象,而C语言是面向过程的。
面向过程,其实更像我们平时的思维方式,将一个问题分解成多个过程依次完成。它是以步骤来划分问题。
而面向对象,则是分析问题所涉及到的主体,建立多个对象,通过编写对象所在类的方法来描述这个对象在问题中的作用。它是以功能来划分问题。

Java中类的语法

public class 类名{
	//属性定义
	public 属性类型 属性名;
	//方法定义
	public 方法返回值类型 方法名(参数类型 参数名,...){
		//方法体
	}
}

其中,方法类似于C语言或C++中的函数。
值得注意的是,在调用一个方法时,我们只关心其参数列表中参数的类型,而不关心参数名。

Java中的对象

对象

我们要实现功能,依赖的不是抽象的类,而是具体的对象,通过调用具体某个对象的方法,来满足问题的需求。

Java中类的语法

//创建对象
类名 对象名 = new 类名();
//对象的属性使用
对象名.属性名
//对象的方法调用
对象名.方法名(参数,...)

主方法

在完成类的属性和方法之后,我们可以编写一个主方法,在主方法内进行创建对象,调用方法等步骤的编写。格式为:

public static void main(String[] args){
	//主方法体
}

示例

类的编写

我们尝试编写一个学生类.
1、先考虑其属性:姓名、性别、学号、学时,也考虑应该拥有哪些方法,比如说学习、比如说玩游戏,也可以增加一个显示学生基本信息的方法。

public class Student{
	//属性:姓名、性别、学号、学时
	//方法:学习、玩游戏
}

2、我们也要考虑每个属性的类型

	public String name;
	public char sex;
	public String sno;
	public int hours;

3、考虑每种方法的返回值类型,以及需要哪些参数

	//学习
	public void study(){
		hours++;
		System.out.println(name+"正在学习,学时增加,当前学时为"+hours);
	}
	//玩游戏
	public void play(){
		hours--;
		System.out.println(name+"正在学习,学时扣减,当前学时为"+hours);
	}
	//显示信息
	public void show(){
		System.out.println("姓名:"name+"\n性别:"+sex+"\n学号:"+sno+"\n当前有效学时:"+hours);
	}

4、至此,我们得到了一个完整的类

public class Student{
	//属性:姓名、性别、学号、学时
	public String name;
	public char sex;
	public String sno;
	public int hours;
	
	//方法:学习、玩游戏
	//学习
	public void study(){
		hours++;
		System.out.println(name+"正在学习,学时增加,当前学时为"+hours);
	}
	//玩游戏
	public void play(){
		hours--;
		System.out.println(name+"正在学习,学时扣减,当前学时为"+hours);
	}
	//显示信息
	public void show(){
		System.out.println("姓名:"name+"\n性别:"+sex+"\n学号:"+sno+"\n当前有效学时:"+hours);
	}
}

对象的创建

我们打算在方法内创建对象,并调用其属性与方法,观察结果

	public static void main(String[] args){
		//创建学生对象stu
		student stu = new student();
		//对学生对象stu进行赋值
		stu.name = "路人甲";
		stu.sex = 'M';
		stu.sno = "20160101";
		stu.hours = 10;
		//调用方法show()查看学生基本信息
		stu.show();
		//让学生学习三次
		for(int i=0;i<3;i++){
			stu.study();
		}
		//玩游戏一次
		stu.play();
	}

最后将主方法加入类中就可以啦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值