方法与变量

1、类(java文件)的组成


    ①属性:姓名、身高、年龄
    ②方法:说话、跑步、计算

2、方法


    语法:
        访问修饰符 返回值类型 方法名(形参的类型 形参...){//方法体
            语句;
            return 返回值; //方法调用处
        }
    eg:
        public int sum(int a, int b){
            return a+b;
        }

1.形参列表:表示成员方法的输入,比如:cal01 (int n), getSum(int num1, int num2)
2.返回数据类型:表示成员方法输出,void表示没有返回值
3.方法主体:表示为了实现某一功能的代码块
4.return语句不是必须的
    注意:
        方法需要对象.方法()调用

3、构造方法

特点:
1、名称与类名相同,无返回值类型修饰;
2、系统在创建对象时自动调用,主要完成对象的初始化工作


语法:
       访问修饰符 类名(形参的类型 形参...){//方法体
           语句;
       }
    作用:
        new对象时调用,给属性赋值
    注意:
        ①一个类默认就有无参构造
        ②若有了有参构造则不再生成无参构造

4、this关键字


    是什么?
        this可以理解为当前类的实例,可以用来调用:属性、方法、构造方法
    什么时候用?
        ①this.属性
        ②this.方法(),一般可省略this,二般必须显式调用(构造方法)

5、重载(overload)


    是什么?
        一个类中方法名相同,方法的参数类型 和 个数不同(同名不同参)
    为什么要有重载?
        class Polygon{
            //1. 求圆的面积
            public void getYuanArea(){
            }
            //2. 求三角形面积
            public void getSjxArea(){
            }
            //3. 求梯形的面积,传参 double bottom, double top,double hight
            public void getTxArea(){
            }
            //4. 能不能在定义一个求长方行面积,传参double width , double hight
            public void getCfxArea(){
            }
        }
        此时,每次都要重新给方法起名字会造成代码污染,我们其实可以一个方法把所有图像的面积都求出来

6、值传递和引用传递


    值传递                                                               引用传递
   基本数据类型                                                      自定义(引用)数据类型
   传递的是值的副本                                               传递的是引用地址
   方法中对形参的修改,不会影响到实参               方法中对形参的修改,会影响到实参

7、局部变量和全局变量

比如放在类中叫全局变量(成员变量)

放在方法或代码块中叫局部变量

8、static关键字


静态变量
        特点:
            ①随着类的加载而加载(类.属性),早于对象的创建
            ②在内存空间(方法区)中只有一份,被所有对象共享
    静态变量和全局变量的区别:
                                         静态变量               全局变量
            声明方式              static修饰
            访问方式              类名和对象(不推荐)       对象
            对象是否共享           共享                           不共享

静态方法

特点:
①随着类的加载而加载,可以通过"类.静态方法"的方式进行调用
②静态方法中,只能调用静态的方法或属性,非静态方法可以调用静态和非静态的方法及属性

9、代码块

定义:代码块是介于 ”{” 和 ”}” 之间的一段代码,而且不用显示调用
作用:用于初始化类和对象的信息

非静态代码块

1.作用:可以在创建对象时,对对象的属性等进行初始化
2.随着对象的创建而执行,每创建一个对象,就执行一次非静态代码块
3.如果一个类中定义了多个非静态代码块,则按照声明的先后顺序执行

静态代码块

1.作用:可以对类的属性进行初始化操作
2.随着类的加载而执行,而且只执行一次
3.如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行

代码块类别        简称                        定义特点                                        执行特点
静态代码块        静态块        直接定义在类中,且有static修饰        JVM加载类的时候
构造代码块        构造块        直接定义在类中,没有static修饰        每次创建对象都执行

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐