• Java面向对象


    面向对象(一)

    属性

             成员变量和局部变量:

             相同点:

    1. 循环变量声明的格式: 数据类型 变量名 = 初始化值

    2.都有作用域

             不同点:

    1. 声明位置不同:成员变量声明在类里,方法外

        局部变量声明在方法内,方法的形参部分,代码块内

        成员变量(写在类--class里)和局部变量(写在方法--main里)的区别

        成员变量的初始化(有图有真相)

        成员变量可以是java中任意一种数据类型(基础数据类型和引用类型)

        成员变量可以初始化, 也可以不初始化(java默认初始化)

        成员变量的作用范围-->整个类

       2.成员变量的修饰符有四个:public protected default private 权限由大到小递减

           局部变量没有修饰符,与所在的方法修饰符相同

       3.成员变量存在堆空间中,局部变量存在栈空间中

        总结:关于变量的分类:(1)按照数据类型的不同:基本数据类型(8种)  & 引用数据类型

                           (2)按照声明的位置的不同:成员变量 & 局部变量

    方法

    提供某种功能的实现    main方法也是方法,main方法里边的属性也必须要赋值。

    1实例:public void eat(){//方法体}

            public String getName(){}

            public void setName(String n){}

            格式:权限修饰符 返回值类型(void:无返回值/具体的返回值) 方法名(形参){}

         

    2关于返回值类型:void:表明此方法不需要返回值

               有返回值的方法:在方法的最后一定有return + 返回值类型对应的变量

           记忆:void 与return不可以同时出现一个方法内。 

    3方法内可以调用本类的其他方法或属性,但是不能在方法内再定义方法

      内存划分的结构:

            栈:局部变量 、对象的引用名、数组的引用名

            堆:new 出来的“东西”(如:对象的实体,数组的实体),含成员变量

            方法区:含字符串常量

            静态域:声明为static的变量

    方法的重载/重写

    方法的重载(overload)

      要求:1.同一个类中 2.方法名必须相同 3.方法的参数列表不同(①参数的个数不同②参数类型不同)  方法的权限修饰符可以不相同

      补充:方法的重载与方法的返回值类型没有关系

      //如下的四个方法构成重载

      //定义两个int型变量的和

      public int getSum(int i,int j){

               return i + j;

      }  

      //定义三个int型变量的和

      public int getSum(int i,int j,int k){

               return i + j + k;

      }

      //定义两个double型数据的和

      public double getSum(double d1,double d2){

               return d1 + d2;

      }

      //定义三个double型数组的和

      public void getSum(double d1,double d2,double d3){

               System.out.println(d1 + d2 + d3);

      }

      不能与如上的几个方法构成重载

      public int getSum1(int i,int j,int k){

               return i + j + k;

      }

      public void getSum(int i,int j,int k){

               System.out.println(i + j + k);

      }

      以下的两个方法构成重载。

      public void method1(int i,String str){

              

      }

      public void method1(String str1,int j){

            

      }

  • 相关阅读:
    aspectj this target within 区别
    window 启用telnet 方法 和基本使用
    spring aspectj 切入点表达式详解
    foreach 和 数据库批量执行 效率比较
    零拷贝
    JDK 动态代理 和 cgLib动态代理
    类和类之间的6种关系
    easyExcel 比poi 更加简单的 excel 解析工具
    spring生命周期监听接口概述
    raspberry的64bit img下载
  • 原文地址:https://www.cnblogs.com/DONGb/p/7267702.html
Copyright © 2020-2023  润新知