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方法。
不同类中的方法不可以直接调用,调用前需要创建对象,通过对象调用方法即可。