上一节课我们写了一个最简单的入门程序HelloWorld,相信大家对Java程序有了一个基本的认识,这节课我们就来讲一讲类和对象的概念。
大千世界,万物皆对象。外界的一切事物在Java程序中都可以被描述出来。在Java中,我们使用类(class)来描述数据,我先来举个简单的栗子。如果想描述一个人,那么我们需要刻画他的几个基本属性:姓名、年龄、家庭住址,这些是所有人通用的属性,我们可以使用一个类来描述通用的人类。新建一个java文件,Person.java:
public class Person{
//姓名
private String name;
//年龄
private int age;
//地址
private String address;
//say方法,打印person的所有属性
void say() {
System.out.println("我是" + name + ",我今年" + age + "岁啦,我家住在" + address);
}
public static void main(String[] args) {
//new一个Person类的对象person
Person person = new Person();
//设置person的名字
person.name = "骚武";
//设置person的年龄
person.age = 28;
//设置person的地址
person.address = "上海市黄浦区";
/*
调用person的say方法
*/
person.say();
}
}
我们在cmd中编译运行这个程序,结果是:
Person
我来稍微的解释下这个程序。这个程序定义了一个Person的类,类有三个属性:name,age,address,分别用来描述Person的姓名、年龄、地址。在类中还有一个无返回的方法say(),这个方法是在控制台打印出Person的三个属性。在main方法中,我新建了一个Person类的对象person并给它的三个属性赋值,然后我直接调用person.say()方法就可以看到我设置的person的三个属性了。
注意:java中的注释是 "//" ,这个是单行注释。在这一行,双斜杠后面的所有字符都不会被编译,它是对java代码的说明。还有一种注释是多行注释 "/* 我是注释 * /",在"/* " 和 " */"之间的所有字符都不会被编译,可以写多行的说明。Java中如果是在字符串中间写 "+" ,其作用是拼接字符串,如果是在两个数字中写 "+",其作用是数字的相加,如果是字符串和数字之间写"+",其作用还是拼接字符串。
类我们可以理解成设计武器的图纸,而对象就是根据图纸制造出来的武器。我们只需要在图纸中定义好武器的属性和尺寸,就可以无限制的创造武器。我们还可以在创造武器的时候自己设定其尺寸,但是武器的所有构造都在图纸中说明好了。在Java中,使用new关键字,就可以通过类来创建对象,即通过图纸创造武器。这个过程叫做类的实例化,因此也称对象是类的一个实例。
注意:类只是一张图纸,起到说明的作用,不占用内存空间;对象才是具体的武器,要有地方来存放,才会占用内存空间。关于内存的概念我会在后续的课程中讲解。类所包含的变量和函数都有特定的称呼,变量被称为属性(通常也称成员变量),函数被称为方法,属性和方法统称为类的成员。
在Java中,可以将完成某个功能的代码块定义为方法,将具有相似功能的方法定义在一个类中,也就是定义在一个源文件中(因为一个源文件只能包含一个公共的类),多个源文件可以位于一个文件夹,这个文件夹有特定的称呼,叫做包。
Java中包和类的概念Java的这种包的结构不会对程序的执行效率有任何的影响,它的作用是更加方便地管理我们的代码。把相关功能的代码放在一个包中,可以更方便地调用,更明确地区别不同的类的功能。这种管理代码的方式是Java的一小步,却是编程界思想革新的一大步~
网友评论