JAVA是面向对象的编程设计语言。
1、什么是类和对象
类(class),即具有相同或相似特征的某一类事物的统称。如人类,即“人”这一类事物,其所拥有共同的特征,如人都有发达的大脑、都直立行走、会思考、会劳动,所以才称为“人类”。
对象(object),类中某一特定的成员。如张三、李四,他们拥有人类所有的共同特征,同时还拥有个体特有的特征,如年龄、身高、姓名。
类是对象的抽象和概括;对象是类的实例化,是一个个具体的个体,一切事物皆对象。
2、类的属性和方法
类所具有的状态特征,在JAVA中称为成员变量/属性(attribute),如上所述,人类有发达的大脑。
类所具有的行为动作,在JAVA中称为成员函数/方法(method),如上所述,人类直立行走、会思考、会劳动等行为。
类中的成员,包括成员属性和成员方法,如类中有3个属性,2个方法,则该类中共有5个成员。
3、类的定义
类就像人类的模板,对象就是使用模板创建出来的个体,所以必须先创建类之后才有对象。
类有属性和方法,创建类的格式如下:
public class Test {
public String testOne;//创建属性
public void testTwo() {
}//创建方法
}
其中,类的关键字class必填,修饰符、成员属性和成员方法及属性方法的名称等,均可变。
有了类,就可以创建对象/实例
以下实例,创建一个Person类,类源文件名必须为Person.java:
//定义一个名为Person的类
public class Person
{
//类有三个属性,分别是name、age、job
String name;
int age;
String job;
//创建方法
void say()
{
System.out.println("姓名:"+name+"\n年龄:"+age+"\n职业:"+job);
}
}
注:如果class类名前有public修饰,则这个class类的源文件命名必须和类名相同,即命名为Person.java
4、创建对象
类创建完成后,就可以根据该类来创建对象,又叫类的实例化。
用new关键字来完成,创建对象的格式如下:
方法一:
类名 对象名=new 类名();
方法二:
类名 对象名;
对象名=new 类名();
public class MyTest {
public static void main(String[] args) {
Person zhangsan=new Person();//实例化一人对象,名为zhnagsan
zhangsan.say();//给zhangsan引用类的方法
}
}
输出结果:
姓名:null
年龄:0
职业:null
因为成员属性均未赋值,均取初始化默认值。
public class MyTest {
public static void main(String[] args) {
Person zhangsan=new Person();//实例化一人对象,名为zhnagsan
zhangsan.name="张三";
zhangsan.age=20;
zhangsan.job="公务员";
zhangsan.say();//给zhangsan引用类的方法
}
}
输出结果:
姓名:张三
年龄:20
职业:公务员
注:
在一个JAVA类源文件中,只能有一个public类。所以,如果类和主函数一起放在同一源文件中时,且主函数类有public修饰,新创建的person类前不能有public;存在有public修饰的类时,源文件名也必须与该类名完全一致,如public class MyTest,源文件名必须为MyTest.java
如下:
public class MyTest {
public static void main(String[] args) {
Person1 zhangsan=new Person1();//实例化一人对象,名为zhnagsan
zhangsan.name="张三";
zhangsan.age=40;
zhangsan.job="公务员";
zhangsan.say();//给zhangsan引用类的方法
}
}
//与主函数一起,在同一源文件中创建类,类前不能有public
class Person1
{
//类有三个属性,分别是name、age、job
String name;
int age;
String job;
//创建方法
void say()
{
System.out.println("姓名:"+name+"\t年龄:"+age+"\t职业:"+job);
}
}
输出结果:姓名:张三 年龄:40 职业:公务员
5、类名和对象名的命令规范
类名:XxxXxx,第一个单词开始,首字母大写,如MyClass、ClassTest
变量名、方法名:xxXxx,即第一个单词小写,第二个单词开始首字母大写,如myAge、myJob
注:这是一种规范,不是规则,不强制规定必须这么写。