第一章 面向对象
面向对象是Java语言区别c语言的一个重要特点,也是学好Java必须掌握的重要部分。我们都知道Java是面向对象,而c语言是面向过程的,想要学好Java就得学好面向对象。
1.类和对象的概念
类是对一类事物进行描述,是抽象的,概念上的定义;对象是实际存在的该事物的每个个体,因而也称实例。
Java语言中定义类的语法如下:
1 [修饰符] class 类名
2 {
3 定义构造方法;
4 定义属性;
5 定义方法;
6 }
注意:类中各成员之间的定义顺序对程序没有任何影响。
Java语言中创建对象的语法如下:
声明对象:类名 对象名
实例化对象:对象名 =new 构造方法()
属性的调用:对象名.属性
方法的调用:对象名.方法名([参数])
注意:无论数组还是对象,当程序访问引用变量的属性或方法时,实际是访问该引用变量所引用的数组,对象的属性或方法。
2.方法详解
方法是类或对象的行为特征的抽象,是类或对象最重要的组成部分,通过方法可以实现对类属性的操作。其声明格式如下:
1 [<修饰符>]<返回类型><方法名>([参数列表]){方法体}
注意:如果方法的返回类型为void,说明方法没有返回值,所以在main()方法中调用时,可以将此方法作为一条语句直接在程序中使用。
而参数的传递是指实际参数向形参值的传递的过程。如果声明方法时包含形参的声明,则调用方法时必须为这些形参指定参数值,调用方法时实际传给形参的参数值被称为实参。所谓值传递就是将实参的副本(复制品)传递给形参,而实身不会到影响。
3.可变形参
1 [<访问修饰符>] <返回类型> <方法名> (变量类型...变量名) {方法体}
2 public void test(String...name){System.out.println(name)}
(1)可变形参,可以像数组一样使用,也可以用foreach进行遍历
(2)只能写在形参列表的最后
(3)对比数组形参,可变形参不传参也不会报错,数组形参在不传参里也要传一个null才不报错
4.构造方法
(1)构造方法与普通方法的区别
①方法名必须与类名一致
②没有返回值,void也不能写
③可以重载
(2)没有编写构造方法时,系统会自动创建一个没有方法体的构造方法
练习:创建士兵类(Soldiers)
(2)在该类中定义一个有参数的构造方法,该方法包含一个String类型
的形参变量name和两个int类型变量的x.y,在构造器中输入该士兵信息。代码如下:
1 public Soldiers(String name,int x,int y){
2 System.out.println("英雄名字:"+name+'初始化横坐标='+x+"纵坐标='+y)}
3 public static void main(String[] args) {
4 Scanner input= new Scanner;
5 用于(i=0,i<5,i++){
6 System.out.printin("请输入第"+(i+1)+'个士兵的名字:");
7 String name=input.next ();
8 System.out.printin("请输入横坐标:");
9 int x = input.nextlnt ();
10 System.out.printin("请输入纵坐标:");
11 int y =nextint ();
12 Soldier s=new Soldier(name,x,y);
13 }
14 }