对象和封装
什么是对象
世界万物都是对象,猫,狗,车等等.....
为什么使用对象
1:符合人类的思维习惯;
2:提高设计和开发的效率;
3:使得人与人,人与程序交流更加的流畅
怎么用面向对象描述世界
1:找出它的种类:根据我们已有的认知,将它归属到一个类
2:找出它的属性:在该类中写出我们需要的属性
3:找出它的方法:在该类中写出我们需要的方法
public class Dog{
String name;
int health=100;
int love;
String strain;
}
public void show(){
System.out.println("我的名字是:"+name+"健康值是:"+health+",和主人的亲密度是:"+love+",品种是:"+strain);
}
==========================
测试类
public static void main(String[] args) {
Dog dog= new Dog();
System.out.println("********欢迎来到宠物店*******");
System.out.println("请输入要领养的宠物的名字:");
Scanner sc = new Scanner(System.in);
String name=sc.next();
System.out.println("请输入要领养的宠物的类型(1:狗狗 2:企鹅): ");
int num=sc.nextInt();
switch(num){
case 1:
System.out.println("请输入狗狗的品种(1:聪明的拉布拉多犬 2:酷酷的雪拉瑞)");
int n=sc.nextInt();
if(n==1){
dog.strain="聪明的拉布拉多犬";
}else if(n==2){
dog.strain="酷酷的雪拉瑞";
}
dog.name=name;
dog.show();
什么是重载
1:方法名相同,参数列表不同(个数,顺序,数据类型),在同一个类中
2:访问修饰符以及返回值类型无关
为什么使用重载
在使用的时候调用方法或者赋值更加的便捷
什么是static
静态的,是随着类的加载而加载的,可以修饰属性和方法还有代码块
表示共用的
使用:static 修饰的属性或者方法,可以使用对象名点的方式调用,也可以直接使用
类名点的方法调用(推荐使用)
方法调用方面:
普通方法:普通方法是可以调用普通方法的,也可以调用静态方法
静态方法:静态方法可以调用静态方法,不能调用普通方法
注意:在静态方法中,不能使用this关键字。
什么是封装
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过提供的方法来进行访问
为什么使用封装
隐藏类的实现细节;方便加入控制语句;只能通过规定方法访问数据;方遍修改实现
封装的步骤
1:修改属性的可见性
将Dog类的中的属性私有化用private表示
2:设置setter/getter()方法
可以手动添加setter/getter()方法,也可以使用快捷键Ctrl+Shift+S
3:编写getter方法,来获取值
什么是this
表示当前类的,不写也存在的
1:可以修饰属性(this.属性名),方法(this.方法名()),构造方法(this();)
2:在使用this调用构造方法的时候必须在构造方法的第一行