• 对象和封装


    什么是对象

      世界万物都是对象,猫,狗,车等等.....

    为什么使用对象

      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调用构造方法的时候必须在构造方法的第一行


       

  • 相关阅读:
    Java实现 LeetCode 179 最大数
    Java实现 LeetCode 179 最大数
    Java实现 LeetCode 179 最大数
    SQL Server实现 LeetCode 178 分数排名
    SQL Server实现 LeetCode 178 分数排名
    SQL Server实现 LeetCode 178 分数排名
    开源免费的C/C++网络库(c/c++ sockets library)
    C++开源跨平台类库集
    动态链接库中分配内存引起的问题-- windows已在XX.exe中触发一个断点
    SDL 简介
  • 原文地址:https://www.cnblogs.com/li-ding-yong/p/12907237.html
Copyright © 2020-2023  润新知