13、JAVA入门——对象和类

目录

一、对象

1、面向对象

2、对象解释

3、 创建对象

4、 使用对象

5、 对象数组

二、类

1、类解释

2、 定义类

3、 属性

4、 方法

5、方法分类


一、对象

1、面向对象

(1)Java语言是一种面向对象的语言。

(2)面向对象的思想是把问题看成是由若干个对象组成,这些对象之间是独立的,但又可以相互配合、连接和协调,从而共同完成整个程序要实现的任务和功能。

(3)面向对象的三大特征:封装继承多态

2、对象解释

(1)对象是用来描述客观事物的一个实体

(2)用面向对象方法解决问题时,要对现实世界中的对象进行分析和归纳,找出哪些对象与要解决的问题是相关的。
        (3)万事万物皆对象

3、 创建对象

(1)类是一类事物的集合和抽象,代表这类事物公有的属性和行为(方法)。

(2)一个对象成为类的一个实例,是类一次实例化的结果。

(3)类的对象可以调用类中的成员,如属性和方法等。

创建对象的语法格式如下:

        类名 对象名 = new 类名();

        -->new是关键字

        -->左边的类名为对象的数据类型。

        -->右边的类名()成为类的构造方法。

		//类名 对象名 = new 类名();
		School school1 = new School();


4、 使用对象

在Java中,要引用对象的属性和方法,需要使用“.”。

使用对象的语法格式如下:

        对象名.属性 [= 属性值]; //引用对象的属性

        对象名.方法名(); //引用对象的方法

  例子:创建SchoolTest类,使用School类对象方法如下

public class SchoolTest {

	public static void main(String[] args) {
		
		//创建School类对象
		//类名 对象名 = new 类名();
		School school1 = new School();
		//给对象的属性赋值  对象名.属性名 = 数据;
		school1.schoolName = "魔法学院";
		school1.address = "安徽合肥";
		school1.year = 100;
		school1.phoneNumber = "13822556677";
		
		//对象调用方法  对象名.方法名();
		school1.printInfo();

	}
}


5、 对象数组

(1)对象数组的数据类型就是具体的类名,对象数组存储的就是这个类的对象,每个数组元素就是一个对象。

(2)根据数组下标找到某个元素时,按照对象的使用方法来使用该元素。

        类名[] 数组名 = {对象1,对象2,···,对象n};


面向对象的优点如下:

        (1)与人类的思维习惯一致:面向对象的思维方式是从人类考虑问题的角度出发,把人类解决问题的思维过程转变为程序能够理解的过程。面向对象程序设计使用“类”来模拟现实世界中的抽象概念,用“对象”来模拟现实世界中的实体,从而用计算机解决现实问题。

        (2)信息隐藏,提高了程序的可维护性和安全性:封装实现了模块化和信息隐藏,即将类的属性和行为封装在类中,这保证了对它们的修改不会影响到其他对象,利于维护。同时,封装使得在对象外部不能随意访问对象的属性和方法,避免了外部错误对它的影响,提高了安全性。

        (3)提高了程序的可重用性:一个类可以创建多个对象,体现了重用性。

二、类

1、类解释

(1)类是具有相同属性和方法的一组对象的集合。

(2)类定义了对象将会拥有的特征(属性)和行为(方法)。

(3)类和对象的关系就是抽象和具体的关系。类是多个对象进行综合抽象的结果,是实体对象的概念模型,而一个对象是一个类的实例。

面向对象设计的过程就是抽象的过程,一般分为3步来完成。

(1)发现类,类定义了对象将会拥有的特征(属性)和行为(方法)。

(2)发现类的属性,对象所拥有的静态特征在类中表示时称为类的属性。

(3)发现类的方法,对象执行的操作称为类的方法。


2、 定义类

定义类的语法格式如下:

        [访问修饰符] class 类名{

                //类的内部代码

        }

        -->访问修饰符如public、private、protected、等是可选的。

        -->class是声明类的关键字。

        -->按照命名规范,类名首字母大写。

 例子:定义一个School类

public class School {
	
	//内部代码

}


3、 属性

Java中类的内部主要包含属性和方法。对象所拥有的特征在类中表示时称为类的属性。

定义属性的语法格式如下:

        [访问修饰符] 数据类型 属性名 [= 属性值];

        -->访问修饰符时可选的。

        -->除了访问修饰符之外,其他的语法和声明变量类似。

  例子:在School类中定义相关属性

    //定义属性: 数据类型 属性名;
	String schoolName;
	String address;
	int year;
	String phoneNumber;	


4、 方法

        对象执行操作的行为称为类的方法。

        定义方法的语法格式如下:

        [访问修饰符] 返回类型 方法名称(参数类型 参数名1,参数类型 参数名2,...,参数类型 参数名n){

                //方法体代码

        }

  例子:School类中定义了printInfo()方法

public class School {
	
	//定义属性: 数据类型 属性名;
	String schoolName;
	String address;
	int year;
	String phoneNumber;
	
	//定义方法
	
	public void printInfo(){
		System.out.println("学校名称:"+schoolName+",地址:"+address+",创办年数:"+year+",联系电话:"+phoneNumber);
	}
	

}

        -->访问修饰符是可选的。

        -->返回类型可以是void,在定义方法时,返回类型为void时表示没有返回值,方法体中不必使用“return”关键字返回具体数据,但是可以使用“return”关键字退出方法。

        -->返回类型如果不是“void”,那么在方法体中一定要使用“return”关键字返回对应类型的结果,否则程序会出现编译错误。

        -->小括号中的“参数类型 参数名1,参数类型 参数名2,...,参数类型 参数名n”称为参数列表。

        -->当需要在方法执行的时候为方法传递参数时才需要参数列表,如果不需要传递参数就可以省略,不过小括号不可以省略,传递多个参数时,以半角的逗号进行分隔。

5、方法分类

(1)方法按照有无参数分为:

        无参方法

        有参方法

(2)方法按照有无返回值分为:

        无返回值的方法

        有返回值的方法

(3)综上所述方法分为:

        无返回值的无参方法

        无返回值的有参方法

        有返回值的无参方法

        有返回值的有参方法

  例子:定义一个Demo01类,添加以上四种方法;

public class Demo01 {

	//无返回值的无参方法
	public void test1(){
		System.out.println("我是没有返回值的方法");
	}
	
    //有返回值的无参方法
	public String test2(){
		String str = "hello java";
		return str;
	}
	
	//无返回值的有参方法
	public void test3(int num1,int num2){
		System.out.println("你传递的两个参数数据是:"+num1+","+num2);
	}
	
	//有返回值的有参方法
	public int test4(int num1,int num2,int num3){
		return num1+num2+num3;
	}
}

  定义一个Demo01Test类,来使用上面的Demo01类对象,和方法:

public class Demo01Test {

	public static void main(String[] args) {
		//创建Demo01的对象,通过对象来调用Demo01类中的test1()和test2()方法
		
		Demo01 d1 = new Demo01();
		d1.test1();
		String result =d1.test2();
		System.out.println(result);
		System.out.println(d1.test2());
		
		d1.test3(10, 20);
		
		int a =100;
		int b =200;
		//调用有参方法的时候,传递的a和b是实际参数,简称实参,形参和实参的名称不需要一样,但是数据类型要一样
		d1.test3(a, b);
		
		int result2 =d1.test4(100, 200, 185);
		System.out.println(result2);
		System.out.println(d1.test4(10, 20, 30));
		
	}

}

       码文不易,本篇文章就介绍到这里,如果想要学习更多Java系列知识,请关注博主,博主带你零基础学习Java知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的第四栏目:《国学周更—心性养成之路》,学习技术的同时,我们也注重了心性的养成。