12.类和对象

本文介绍了面向对象编程的基本概念,包括对象、类以及如何定义和创建对象。通过实例展示了如何定义一个School类,并创建及操作对象。还讨论了方法的定义,包括无返回值和有返回值的方法,以及无参数和有参数的方法。最后,提到了方法的相互调用,强调了static方法的使用规则。
摘要由CSDN通过智能技术生成

1.基本概念

对象:用来描述客观事物的一个实体,现实世界中客观存在的物体都是对象,由属性和方法组成。万事万物皆对象。

属性描述的是对象的特征,方法描述的是对象的功能、行为。

:具有相同属性和方法的多个对象的集合。

类是对象的抽象,对象是类的具体。

2.定义类

通过关键字class来定义

public class 类名{

        //定义属性

       访问权限修饰符(可不写)   数据类型   属性名;

        //定义方法

        访问权限修饰符  返回值类型  方法名(参数列表){

                     方法体;

      }

}

说明:

1.访问权限修饰符:描述的是方法的作用范围,主要有public(共有的)、默认不写的、protected(受保护的)、private(私有的);

2.返回值类型:调用方法返回结果的类型,可以是8大基本数据类型,也可以是3大引用数据类型,还可以是没有返回值,写void;

3.方法名:方法的名称,采用小驼峰命名法,做到见名知意;

4.参数列表:方法可以需要你传递参数,也可以不需要传递参数,当方法有参数的时候,可以有一个参数,也可以有多个参数,多个参数之间使用逗号隔开;

5.方法体:方法实现功能的具体代码。

案例:

//定义一个School类
public class School {
//定义属性:数据类型  属性名;
	String schoolName;
	String schoolAddress;
	int year;
	String phoneNumbler;

	//定义方法输出学校信息
	public void print(){
		System.out.println("学校名称:"+schoolName+" "+"学校地址:"+schoolAddress+" "+"创办年份:"+year+" "+"联系方式:"+phoneNumbler);
	}
}

3.创建对象

方法:

//创建对象

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

//给对象属性赋值

对象名.属性名=数据;

//对象调用方法

对象名.方法名();

案例:

public static void main(String[] args) {
		// 创建对象:类名 对象名=new 类名();
		School school  = new School();
		//给对象属性赋值  对象名.属性名=数据;
		school.schoolName="魔法学院";
		school.schoolAddress="哈利魔法之路";
		school.year=100;
		school.phoneNumbler="13222342";
		//对象调用方法:对象名.方法名();通过调用方法输出
		school.print();
		
		//也可以直接输出
		School school2=new School();
		school2.schoolName = "赛亚人学院";
		school2.schoolAddress = "贝吉塔行星";
		school2.year = 100;
		school2.phoneNumbler = "13822556677";

		System.out.println("学校名字是:"+school2.schoolName);
        System.out.println("学校地址是:"+school2.schoolAddress);
        System.out.println("学校年龄是:"+school2.year);
        System.out.println("联系方式是:"+school2.phoneNumbler);
	}

由此可见,通过对象调用方法可以大幅度提高代码效率。

4.方法的定义

1. 根据方法是否有返回值,将方法定义为:

无返回值的方法:返回值类型写void,在调用无返回值的方法时,不需要任何变量来接收;

有返回值的方法:返回值类型可以是任意的基本数据类型,可以是任意的引用数据类型。在调用有返回值的方法时,可以用相应变量来接收,亦可以直接将返回值输出。

注:有返回值的方法,需要在方法体内写return关键字将结果返回回去。

2. 根据方法是否有参数列表,将方法定义为:

无参方法:方法名后面的()中没有任何参数;

有参方法:方法名后面的()中有参数,参数的个数可以是1个或者多个,参数的类型可以是基本数据类型,也可以是引用数据类型。

2个原则:

要什么给什么:方法需要什么参数,就按照定义的规则传递参数;

给什么接什么:方法返回什么类型的结果,就用什么类型的变量接收(也可以直接输出返回的结果)----》

//无返回值的无参数方法定义
	public void test1(){
		System.out.println("我没有返回值");
	}
	//有返回值的无参数方法定义
	public String test2(){
		//return "返回值";或者将返回值赋值给相同数据类型的变量
		String str="hello";
		return str;
	}
	//无返回值的有参方法,num1、num2是定义方法时表示的参数,是一个形式参数,简称形参
	public void test3(int num1,int num2){
		System.out.println("你传递的两个参数是:"+num1+","+num2);
	}
	//有返回值的有参方法
	public int test4(int num1,int num2,int num3){
		int sum=num1+num2+num3;
		return sum;
		//或者直接写:return num1+num2+num3;
	}

5.方法的相互调用

方法的调用可以通过创建对象,也可以直接通过类。

直接通过类调用方法时,要在方法的访问权限修饰符和返回值类型之间加关键字static

同一个类中的方法可以直接相互调用;

注:static方法不能调用非static方法。

不同类中的方法不可以直接调用,调用前需要创建对象,通过对象调用方法即可。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值