zoukankan      html  css  js  c++  java
  • 初学者——面向对象的理解02

    static简介以及使用方法

    什么是Static:

    是我们main函数的一种修饰符,也叫静态修饰符,标识成员可以被类直接调用

    static的五种使用方式

    1. 静态成员变量
    2. 静态成员方法
    3. 静态代码块
    4. 静态内部类
    5. 静态导包

    static的调用

       类名.属性名
       类名.方法名

    static与非static之间的重要区别:

    • 1.static修饰的成员是随着类的加载而加载(优先)     

                  非static成员是随着对象的创建而加载

    • 2.静态方法|静态代码块只能调用静态成员,非静态成员是不能直接调用的,创建对象(不能使用this关键字)

                 非静态方法可以直接调用非静态成员,也可以调用静态成员.类的对象进行调用静态成员

    • 3.静态成员对于多个对象而言是共享的

                  非静态成员对于多个对象是彼此独立的

    什么叫做封装:

    把类的公有属性定义在内部的过程被称之为封装:变量 方法

    为什么使用private修饰变量:

    为了保证字段的隐私性: 我们选择使用private修饰符修饰变量
     声明对应的get/set方法对变量的读写操作提供支持

    不定长参数的创建:

     类型...参数名

     static double add(double...number){
            double sum=0;
            for (int i = 0; i < number.length; i++) {
                sum+=number[i];
            }
            return sum;
        }

    不定长参数的要求:

    必须写在参数列表的末尾

    什么叫做递归函数:

     在一定程度上可以理解为循环
     或者可以说是自己调用自己本身的方法被称为递归函数
    **** 最重要的就是递归何时结束!*****

    //这个是用递归实现的斐波那契数列
    //这是创建的Class类
    public
    static int feibo1(int number){ if(number==1||number==2){ return 1; }else { return feibo1(number-1)+feibo1(number-2); } }
    //这个是测试类
    public
    class TextFoNa { public static void main(String[] args) { Scanner input =new Scanner(System.in); System.out.println("请输入一个长度:"); int number=input.nextInt(); for (int i = 1; i <= number; i++) { System.out.print(FoNa.feibo1(i)+" "); } }
    //以下图片可以更好地帮助理解递归,
    解释一下:输入的5是测试时候随意输入的,return返回的值也就是上面Class里的这句话
    feibo1(number-2)+feibo1(number-1),可以理解为5是第3个数和第4个数相加得来的
    
    

     

    什么是方法重载:

     保证同名方法的参数不同: 个数 类型 顺序

     和访问修饰符 返回值类型无关

    小提示:

    *方法定义处,参数叫形式参数,也叫形参(主要约束参数的类型)
    * 形参名字可以随便取,但是要符合驼峰命名规则,同时要有意义
    * 方法调用处,参数叫做实际参数,也叫实参
    * 实参名字也可以随便取,但是要符合驼峰命名规则,同时也要有意义
    * 方法有没有返回值,和方法有没有参数,没有任何关系
    * 方法参数可以有一个,也可以有多个,多个参数之间用逗号隔开(在形参和实参都是这样)
    * 形参和实参数量一定要一致,数据类型一定要一致
    * 当参数传递为基本数据类型时,参数变化不保留,基本数据类型参数传值
    * 当参数传递为引用数据类型时,参数变化会保留,引用数据类型参数传址

    努力到无能为力,拼搏到感动自己
  • 相关阅读:
    toodifficult 题解
    Code Chef February Challenge 2019题解
    LOJ#3085. 「GXOI / GZOI2019」特技飞行(KDtree+坐标系变换)
    LOJ#3084. 「GXOI / GZOI2019」宝牌一大堆(递推)
    LOJ#3083. 「GXOI / GZOI2019」与或和(单调栈)
    LOJ#6046. 「雅礼集训 2017 Day8」爷(分块)
    LOJ#6045. 「雅礼集训 2017 Day8」价(最小割)
    LOJ#6044. 「雅礼集训 2017 Day8」共(Prufer序列)
    BZOJ4766: 文艺计算姬(Prufer序列)
    BZOJ3729: Gty的游戏(伪ETT)
  • 原文地址:https://www.cnblogs.com/tkzm/p/10944583.html
Copyright © 2011-2022 走看看