- 类
前文学习了变量,如果要定义一个变量来保存客户的年龄,方法如下。
int age;
其中,int是一个数据类型。
但是,实际的项目比想象更为复杂,简单的数据类型根本无法满足需要。例如要定义一些变量保存顾客的信息,包含姓名、性别、年龄等信息,传统方法写成如下。
String name; String sex; int age;
但是每次定义顾客,都要手工定义3个变量,并且这3个变量在定义时并不能表达它们之间的关系,也就是说看不出它们是为了保存顾客的信息。
那么能否像int一样“自创”一个数据类型(Customer)使用呢?示例如下。
Customer cus;
这样是否自动定义了3个变量呢?
答案是可以的,面向对象中的类(Class)就可以帮助用户完成
- 定义类
首先讲解最简单的类的定义,定义一个类的语法如下。
class类名{ 所含变量定义; }
示例如下。
class Customer{ String name; String sex; int age; }
上述语句定义了一个新的数据类型Customer,包含3个变量,此后就可以类似于使用简单数据类型来使用Customer类型。其中,name、sex和age称为类的成员变量。
4.1.4访问对象中的成员变量
通过类实例化对象之后,如使用了"Customer zhangsan new CustomerO;"之后 .如何通过对象名zhangsan来使用其中的成员变量name .sex和age呢?
当
通过对象名使用成员变量的最基本的方法如下。
对象名.成员变量名
例如,”zhangsan. age"表示访问对象zhangsan的成员变量age.示例代码如下。
ObjectTest1. java
运行代码,控制台打印结果如图4-3所示class Customer { String name; String sex; int age; } public class ObjectTest1 { public static void main(String[] args) { Customer zhangsan= null; System. out. println(”zhangsan= " + zhangsan); zhangsan = new Customer(); System. out. println(”zhangsan. name= " + zhangsan. name);System. out. println(”zhangsan. sex=”+ zhangsan. sex) ;System. out. println(”zhangsan. age=”+ zhangsan. age);zhangsan. name= "张三"; zhangsan. sex="男"; zhangsan. age = 25; System. out. pr intln( " zhangsan. name =" + zhangsan. name);System. out. println(”zhangsan, sex=" + zhangsan. sex); System. out. println(" zhangsan. age= " + zhangsan. age); } }
zhangsan=nul 1 zhangsan. name=nul ] zhangsan. sex=nul 1 zhangsan. age=0 zhangsan. name=张三 zhangsan.sex=男 zhangsan. age=25
图4-3 ObjectTestl. java的运行结果
在没有赋值时,对象的成员变量中字符串型为空值(nul)、int型为“0”
认识成员函数
观察下列代码
class Customer{ String name; String sex; int age; } public class ObjectTest1 { public static void main(String[] args) { Customer zhangsan = new Customer() ; System. out. printin(" zhangsan. name=" + zhangsan. name); System. out. println(”zhangsan. sex=" + zhangsan. sex); System. out. println(" zhangsan. age=" + zhangsan. age); zhangsan. name= "张三"; zhangsan. sex= "男"; zhangsan. age = 25; System. out. println(”zhangsan. name=" + zhangsan. name); System. out. println(" zhangsan. sex=”+ zhangsan. sex); System. out. println(" zhangsan. age=" + zhangsan. age);
在代码中,以下语句的功能类似,但是却写了两次。
System. out. print1n( " zhangsan. name= " + zhangsan. name) ; System. out. pr intln(" zhangsan. sex= " + zhangsan. sex) ; System. out. pr intln( "zhangsan. age= " + zhangsan. age) ;
如果以后再使用,再重复编写,如果想改变打印格式,必须修改每段重复的这3句代码,如果修改错误或遗漏将造成错误。
能否将代码只编写一遍 就可以多次使用呢?当然能,此时可以使用函数。
Java中的函数编写在类中,一般称为成员函数。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)