重载
什么是重载?
对于类的方法,如果两个方法的方法名相同,但参数不同,那么可以说一个方法是另一个方法的重载方法。
方法重载规则:
方法名相同
方法的参数不同(数据类型不同或者个数不同)
方法的返回值和访问权限修饰符可以不同
方法重载的原则
只有对不同的数据完成基本相同的任务的方法才应该重载
方法重载的优点
不必对相同的操作使用不同的方法名
有利于理解和调试代码
更容易维护代码
封装
什么是封装?
就是将属性私有化,其他类都不能访问。目的只有一个保证了数据的安全性和合理性。
封装的步骤:
* 1.将属性进行私有化 使用private关键字。
* 语法:private 数据类型 属性名称
* 2.提供一些能够访问这个类中的属性的解决方案。
获取属性和设置属性的解决方案
*
* 2.1 获取属性的解决方案get:获取
* public 返回类型 getXxx(){//见名之意
* return 值;
* }
*
* 2.2 设置属性的解决方案 set:设置
* public void setXxx(参数){
* 当前类的指定的属性 = 参数;
* }
封装类:
public class Cat {
/**
* 问题:什么是封装?
* 就是将属性私有化,其他类都不能访问。目的只有一个
* 保证了数据的安全性和合理性。
*
*
*
* 封装的步骤:
* 1.将属性进行私有化 使用private关键字。
* 语法:private 数据类型 属性名称
* 2.提供一些能够访问这个类中的属性的解决方案。
* 获取属性 和设置属性的解决方案
*
* 2.1 获取属性的解决方案get:获取
* public 返回类型 getXxx(){//见名之意
* return 值;
* }
*
* 2.2 设置属性的解决方案 set:设置
* public void setXxx(参数){
* 当前类的指定的属性 = 参数;
* }
*
*/
//属性:姓名 颜色 品种 性别 年龄
private String name;
String color;
String type;
String sex;
private int age;
//获取当前猫的姓名
public String getName() {
return name;
}
//设置当前猫的姓名
//当参数的名称与当前类的属性同名时
//通过this区分
public void setName(String name) {//String name局部参数
this.name = name;
}
//设置年龄的方法
public void setAge(int age) {
if(age >=15 && age <=30) {
this.age = age;
}
}
//获取
public int getAge() {
return age;
}
}
测试封装类:
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
//实例化猫
Cat c = new Cat();
//调用属性 对象名.属性名 赋值
//c.name = "小花";
//根据主人提供的解决方案来进行设置属性的值以及获取属性的值
// c.setName("小红");
// System.out.println(c.getName());
c.setName("s");
System.out.println(c.getName());
}
}