第四章 Java面向对象编程基础
第一部分(类和main方法)
Java语言是由类和对象组成的,对象和类又是由变量和方法组成的,方法中包含了语句和表达式。本章所要介绍的内容都是Java中最基本的单元,任何一个复杂的程序都是由这些基本的单元所组成的。
4.1 Java的类
1、什么是类?
类是现实世界中某一些具有共同特征和共同功能的事物或是活动的抽象体。比如人类、汽车类。
因此类应包括被抽象事物的属性以及方法(功能)。属性描述事物的特征。方法描述事物的功能。方法可以获取或是改变属性值。
定义类的过程就是定义类的属性和方法的过程。
定义类的语法格式如下所示:
[修饰符] class 类名 [extends 父类名] [implements 接口名]
{
类成员变量的声明语句;
类方法声明;
}
修饰符、继承父类、接口根据需要添加,可不设定。
注意:class是用来定义类的关键字,类名的第一个字符大写。
方法名的第一个字符小写,后面单词的首字母大写(驼峰命名法)。
2、类的基本结构
类属性:描述某一类事物本身所抽象出的事物的统一属性
类方法:描述某一类事物本身所抽象出的事物的统一功能
构造方法:每个类都至少会有一个特殊的方法,并将其称为构造方法。
该方法提供了创建类对象的初始化机制。
如下代码片段所示,即为一个类的基本结构。
Class Demo
{
int a,b,c; //成员变量
public Demo() //构造方法,可用于初始化变量
{
a=20;
b=10;
}
Public int add() //类方法,用于实现加法运算,并将结果返回
{
c=a+b;
Return c;
}
}
3、Java源文件结构
Java程序的源文件是一个“.java”结尾的文件,同时该文件中只能有一个类被声明为public类,若存在被声明为public的类时,类的名字必须与“.java”源文件名相同。源文件通过编译器编译可以生成字节码文件,也就是类文件,该文件以“.class”后缀作为文件名扩展名。
在一个源文件中,可以包含三种顶层元素,分别为package(包声明)、import(类库导入语句)和class(类声明)。这三种顶层元素如果同时出现,必须按package、import、class的顺序出现。如下字段所示:
package 包名;
import 所要导入的类库;
class 类名
{
......
}
4、main()入口方法
main()方法是Java程序中的一个特殊方法,是一个Java application应用程序的入口的钥匙。为了能运行一个应用程序(打开一把锁),就必须在类中定义一个main()方法(做一把钥匙,便于用钥匙开锁)。包含main()方法的类通常称之为主类(即可以被运行的类)。
定义main()方法的语法如下所示:
public static void main ( String argv [ ] )
{
......; //方法体(方法语句)
}
main()方法前的修饰符public不是必须的,之所以声明为public是为了main()方法可以从任意的一个Java运行环境中被调用。但是static修饰符是必须的,只有这样才可以使main()
方法称为程序的入口点,并通过它直接执行应用程序。
Main()方法中的参数定义了一个字符串数组argv,是用来从命令行接收用户参数的。采用命令行执行java程序的语句由四个部分组成:第一部分为命令名;第二部分为命令参数,是可选的;第三部分为应用程序的名称,即源文件的主类类名;第四部分为用户输入的参数,多个参数之间用空格分隔。若用户输入参数,则从类名后开始,第一个参数存储与字符串数组元素argv[0]中,以此类推。
语法格式如下:
public class MainDemo
{
public static void main(String argv[])
{
if(argv.length>0) //当用户输入一个以上参数时
{
if(argv.length == 1) //如果用户输入一个参数时
{
if (argv[0].equals("-h"))
System.out.println("Hello!"); //输入的是-h,则输出“Hello!”
else if(argv[0].equals("-b"))
System.out.println("Bye!"); //输入的是-b,则输出“Bye!”
}
else if(argv.length == 2) //如果用户输入两个参数时
{
if(argv[0].equals("-h"))
System.out.println("Hello!"+argv[1]);
else if(argv[0].equals("-b"))
System.out.println("Bye!"+argv[1]);
}
else //如果用户输入三个以上参数,输出“Error!”
{
System.out.println("Error!");
}
}
else
{
System.out.println("There have any parameter!");
}
}
}
程序运行结果如图所示。