第六章 变量和方法


前言

提示:这里可以添加本文要记录的大概内容:


提示:以下是本篇文章正文内容,下面案例可供参考

一、变量

变量分类:局部变量、成员变量(实例变量)、静态变量

类型声明位置从属于声明周期
局部变量方法体内或语句块内方法/语句块从声明位置开始,直到方法或语句块执行完毕,局部变量消失
成员变量(实例变量)类内部,方法外部对象对象创建,成员变量也跟着创建。对象消失,成员变量也跟着消失
静态变量(类变量)类内部,static修饰类被加载,静态变量就有效;类被卸载,静态变量消失

1.局部变量

示例代码:

public int sum(int a,int b){
	int sum = 0;  //局部变量
	sum = a+b;
}

2.成员变量(实例变量)

2.1 声明

【修饰符】 class 类名{
    【修饰符】 数据类型  成员变量名; 
}

实例代码:

public class Person{
	String name;
    char gender;
    int age;
}

⚠️小结:

  • 类型要求:可以是Java的任意类型,包括基本数据类型、引用数据类型(类、接口、数组等)
  • 修饰符:成员变量的修饰符有很多,例如:public、protected、private、static、volatile、transient、final等。

2.2 实例变量默认值

分类数据类型默认值
基本类型整数(byte,short,int,long)0
基本类型浮点数(float,double)0.0
基本类型字符(char)‘\u0000’
基本类型布尔(boolean)false
基本类型数据类型默认值
引用类型数组,类,接口null

⚠️小结

  • 只有成员变量才有默认值,静态变量的值是类共享的。
  • String类型没有默认值,使用前需要初始化

2.3 实例变量访问

示例代码:

对象.实例变量
  • 实例变量从属于对象,且不同对象之间变量相互独立。
  • 实例变量只能通过对象使用。

3.静态变量

3.1 什么是静态变量?

  • 静态变量是由static关键字修饰的变量,从属于类。

实例代码:

class demo{
	static int number; //静态变量声明定义。
}

3.2 静态变量访问

  • 静态变量,在类的内部,可以由任何方法直接访问静态变量。
  • 在其他类中,可以通过类名访问该类中的静态变量。

实例代码:

class DemoA{
	static int number;

	public void methodOne(){
		System.out.println(number); //类中方法直接访问
    }
}

class DemoB{

	public void methodTwo(){
		System.out.println(DemoA.number); //类名.属性
    }
}

⚠️小结

  • 运行时,Java虚拟机只为静态变量分配一次内存,在加载类的过程中完成静态变量的内存分配。

二、方法

1.方法前言

1.1 方法概念

  • 方法也叫函数,是一个独立功能的定义,是一个类中最基本的功能单元。

1.2 方法的作用

  • 把一个功能封装为方法,可以实现代码复用,减少代码量。

1.3 使用方法原则

  • 先声明后使用
  • 不调用不执行,调用一次执行一次。

1.4 方法分类

  • 静态方法:有static修饰的方法,也叫类方法,可以由类调用。
  • 实例方法:没有static修饰的方法,必须通过实例对象来调用。

2.方法声明

  • 语法格式
[修饰符] 返回值类型 方法名 (参数列表){
	方法体;
	return 返回值;
}

修饰符:public static 等都是修饰符

  • 方法声明位置

类中,方法体外

  • 示例代码
class TestOne{
    //公开静态方法,无返回值类型
	public static void methodOne(){
		System.out.println("test methondOne");
	}
}

⚠️小结

  • 静态方法和普通方法的声明基本相同,只是没有static修饰

3.方法调用

3.1 普通方法

  • 语法格式:
对象名.方法名;
  • 示例代码
public class Test {
        public static void main(String[] args){
            Demo demo = new Demo();
            demo.methodOne();
        }

}

class Demo{
    public void methodOne(){
        System.out.println("hello");
    }
}

⚠️注意

  • 这里静态方法main访问非静态方法methodOne 通过创建对象访问。
  • 静态方法无法访问非静态方法和属性。(类加载顺序有关)

3.2 静态方法

  • 语法格式
对象名.静态方法; //不推荐
or
类名.静态方法;//推荐 
  • 示例代码
public class Test {
        public static void main(String[] args){
            Demo.methodOne();
            Demo demo = new Demo();
            demo.methodOne();
        }

}

class Demo{
    public static void methodOne(){
        System.out.println("hello");
    }
}

总结

  • 由static修饰的方法叫静态方法,静态方法不需要创建对象,由类名直接调用
  • 静态成员只能访问静态成员,不能访问非静态成员
  • 普通成员可以访问静态成员。
  • 静态方法属于类,不属于某个特点的对象。
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值