类和对象
什么是类?
类是一种抽象的集合,可以用来描述一个类别的事物
类将数据和对数据的操作封装起来,但是并没有开辟空间
public class Person{//这里的class就是类,后面的person是类名
//人都有姓名和年龄,但是类中不会实际指明姓名是什么,年龄多大
String name;
int age;
}
类可以理解为描述一类事物的一个模板
什么是对象?
对象是个实例的体现,是类的一个实例
对象拥有类所描述的属性,并且不同对象的属性值可能不同
对象占有实际的存储空间
public class Demo1{
public static void main(String[] args){
Person p=new Person;//这里创建了一个类的实例,即对象
p.name="小明";//设置这个实例的姓名
p.age=13;//设置这个实例的年龄
}
}
方法
方法定义在类中,用于描述一个或一系列的行为
//方法格式:修饰符 返回值类型 方法名称(参数列表){方法体}
public int getCount(int[] array){
int count=0;
for(int i=0;i<array.length;i++){
if(array[i]==0){
count++;
}
}
return count;
}
上述代码就是一个简单的计数器,其作用是得出传入数组中0元素的个数
其中的public为权限修饰符,权限修饰符的作用是限制在哪些地方可以访问该方法
权限修饰符共有四种,限制范围从大到小为:public>protected>(default)>private
修饰符 | 同类中 | 同一个包中(子类和无关类) | 不同包(子类) | 不同包(无关类) | 备注 |
---|---|---|---|---|---|
public | Y | Y | Y | Y | 意为公共的,所有位置都可以访问 |
protected | Y | Y | Y | N | 受保护的,限制只有子类可以访问 |
默认 | Y | Y | N | N | 默认的,限制仅有本包内可访问 |
private | Y | N | N | N | 私有的,仅有本类可以访问 |
上述代码中的int是返回值类型,返回值类型的作用是声明该方法产生一个什么类型的结果
返回值类型可以是八种基本数据类型之一,也可以是引用数据类型(包含自定义类)
返回值类型也可以没有,这时返回值类型注明void
当方法有返回值类型时,调用方法要注意用对应类型的数据变量接收
------------------------------------------------分割线------------------------------------------------------------
上述代码中的int[] array是参数列表,参数列表声明了调用该方法时需要提供什么
参数列表中可以传递多个数据,中间有逗号隔开
参数列表中可以传递所有种类的数据,且一个方法中可以同时接收多个数据类型
定义方法时,参数列表中的参数也叫形参,调用方法时传入的参数叫做实参
方法重载
方法的方法名和参数列表一起称作方法签名
一个类中允许出现多个相同方法名的方法,但是不允许出现相同方法签名的方法
当两个或多个方法的方法名相同,参数列表不同(包括数据类型、个数、顺序)时,这些方法之间的关系就是方法重载
当调用的方法有重载方法时,会根据传入的实参类型、个数和顺序自动找到对应的方法