变量,方法,方法重载、调用

package test1;
public class Demo1 {
     //类体
     //类体里的代码执行完之后才会执行类里定义的方法的代码
     //只有定义(声明)相关的代码可以直接放在类体中
     //主要是变量定义和方法定义
	 //*****切记不能在方法中直接定义方法**
	
	//变量定义:
	//简单格式:变量类型 变量类型;
	
	int val1;
	int val2 = 1;//整型
    int valDemo;
        //方法定义:
        //简单格式:返回类型 方法名称(参数列表){方法体}
        //void方法执行结束后返回的类型为空,即什么都不返回
        
    static void function1() {
    
    int val1 = 2;
    int p = val1;

    System.out.println(val1);
    System.out.println(p);
    val1 = 3;                              //就近使用原则:重名时使用的是前面最近定义的变量
    System.out.println(val1);
    }
    //方法调用格式:方法名称(参数);,严格按照定义的方法格式
    //方法调用的作用:去执行所调用的方法里的代码,方法结束后返回调用的位置继续执行
    //参数传递:将实参依次传递给形参的过程
    void function2() {
    	function1();   
        int t = 20;  
        function4(30, "ab");  
    }
    
    void function4(int a,String b) {  //形式参数变量
    }
    
    int function5() {                 //定义的返回类型是什么接受返回值时的返回类型就是什么
    	int k = 200;
    	return k;
    }
//    main方法
//    public访问修饰符-共有的
//    static功能修饰符-静态的
    
    public static void main(String[] args) {
		function1();      // 静态方法中不可以直接调用非静态的方法/变量;
		                  //但非静态方法中可以直接调用静态方法和变量(涉及知识比较复杂暂时了解)
		//function2(); 
		Demo1 d1 = new Demo1(); // 如果想在静态方法中使用非静态方法类实例化产生对象、
							    //new 是在内存中开辟一块新的空间地址,后面跟的是构造方法
		d1.function2();
		System.out.println(d1.val1);//  静态变量
		System.out.println(123);
		int intValue = 1000;
		System.out.println(intValue);
		
		System.out.println(valk);
	}
        static int valk = 1000; 
       //static关键字定义变量和方法在JavaSE中可以使用但之后在其它的地方使用需谨慎    
}
    Demo1(){
    }
//方法重载:在同一个类里方法名称相同,参数(类型,个数,顺序)不相同
//方法重载是根据参数进行判断的,跟返回值类型没有关系
    Demo1(int a){
    }
/*
Demo1(String a){
}
Demo1(int a,String b){
}
Demo1(String b,int a){
}
*/

void fun4() {
	Demo1 d1 = new Demo1();
	//Demo1 d2 = new Demo1(100);
    //Demo1 d3 = new Demo1(100,"asdf");
}

变量和方法的使用

静态的用类来调用
//类名.静态方法
//类名.静态变量

非静态的用对象来进行调用,静态方法调用非静态方法/实例变量要进行实例化
//对象.实例方法\非静态方法
//对象.实例变量\非静态变量

在同一个类中变量和方法前的类名可以省略
//对象.静态方法()/变量;-------可以可以正确执行,但是不推荐
//类名.实例变量/方法();-------错误,不允许

//成员方法
//静态方法//main方法(静态方法的一种)
//实例方法

//构造方法
作用:用于实例化产生对象
规则:方法名称与类名相同,没有返回类型。
PS:如果类中没有构造函数,就默认有无参构造,否则只能使用已经定义的构造方法(==构造器)

public class Demo2 {
	public static void main(String[] args) {
		//标准使用格式  ::Demo2中使用Demo1中的变量和方法
		//(在一个类中调用另一个类中的变量和方法,其前面的类名+.不可以省略)
		//   .被叫做调用运算符
		
		int val = Demo1.valk;
		System.out.println(Demo1.valk);	
		Demo1.valk = 600;
		Demo1.function1();
		
		Demo1 d1 = new Demo1(0);
		d1.function4(10,"123");
		System.out.println(d1.val1);
	}

}

变量类型

//成员变量(java没有全局变量这个概念,实际上和成员变量一个意思)(成员就是类里的)
//静态变量(类变量)
//实例变量(非静态变量)(非静态变量和实例变量是一回事)
//局部变量
//参数变量(形式参数/实际参数)
//循环变量 (循环变量和参数变量都属于局部变量)
//作用范围(作用域){主要看‘}’}

ps:访问修饰符不能用于局部变量,可以用于成员变量。

成员变量:

      1、成员变量定义在类中,在整个类中都可以被访问。
      2、成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。
      3、成员变量有默认初始化值。

局部变量:<没有默认值,2必须初始化,才可以使用>

      1、局部变量只定义在局部范围内,如:方法内,语句内等,只在所属的区域有效。
      2、局部变量存在于栈内存中,作用的范围结束,变量空间会自动释放。
      3、局部变量没有默认初始化值 
          在使用变量时需要遵循的原则为:就近原则
          首先在局部范围找,有就使用;接着在成员位置找

实例变量:<类实例化时进行初始化>

     1、对象创建时创建,对象销毁时销毁。
     2、类的范围内有效。

静态变量:<类使用时会进行初始化>

     1、该类首次访问时创建,程序结束时销毁。
     2、该类的任何对象共用同一静态变量。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qdu_ghx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值