Java 变量 静态 方法 代码块 规范

变量 静态

在这里插入图片描述
!](https://img-blog.csdnimg.cn/20200729200034739.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pkcnlu,size_16,color_FFFFFF,t_70)

public class Demo3 {
        public static void main(String[] args) {
            Student s1 = new Student();
            //s1.name = "张三";
            System.out.println(s1.name);
            //非静态的成员只能使用引用调用
            s1.name = "王五";
            //Student.name;
            //静态成员可以使用引用调用,也可以使用类名调用
            s1.height = 33;
            Student.height = 34;
        }
}
class  Student{
    //可以在类中定义变量的时候,直接赋值
    //意思是说:当我们在创建对象时,如果不单独赋值,他的name的值就是当前的李四
    String name = "李四";//非静态成员变量
    int age;//非静态成员变量
    static double height;//静态成员变量
    //非静态方法
    public  void  run(){
        System.out.println("跑");
    }

    //静态方法
    public static   void  show(){
        System.out.println("展示");
//        name;     静态方法中不能使用非静态成员
    }
}

方法

构造方法:修饰词+方法名字+(参数列表){
方法体}
创建无参的构造方式:会将成员变量默认初始化null/false/0
有参的构造方式:会将成员变量进行初始化并赋值,赋值成传进来的参数
注意:没有返回值、方法名必须和当前的类同名

一旦创建了构造方法,就不会使用系统默认的构造方法
多个构造方法是重载的关系

class Dog{
	String name;
	int age;
	double height;
	public Dog(){
		System.out.println("这里是无参构造方法")
		//this("土狗");//this充当构造方法时,必须放在第一行
	}
	public Dog(String name){
        //this("bing",20,2);//两个构造方法相互调用----死循环
        this.name = name;
    }

    public Dog(String name,int age,double height){
        //this充当的是构造方法
        this(name);// this.name = name的简写;使得代码更加简洁
        this.age = age;//相当于静态类的Dog.age=age
        this.height = height;
    }

    public  void  run(){
        //这里name前面默认有个this
        name = "柯基";
        System.out.println("跑步");
    }
}

this

作用:一种引用数据类型,本身是一个关键字,代表的是当前的对象,保存的是当前对象的地址
功能总结:
1、用来区分成员变量和局部变量
2、可以在构造方法内部调用其他重载的构造方法,提高代码的复用性,简化代码

注意点
1、不能自己调用自己–死循环
2、不能互相调用–死循环
3、this充当构造方法时,必须放在第一行
4、this在作为方法的时候,只可以充当构造方法,不能作为其他方法
5、this的使用范围就是当前类的内部
6、只有在非静态方法中,才能使用this

代码块

静态代码块:随着类的加载而加载,在整个程序的执行过程中,只执行一次,但是优先于,main
static + {}
作用:对类进行初始化
构造代码块:随着对象的加载而加载,每次创建对象的时候都会执行一次,执行顺序优先于构造方法
构造:{}
作用:对对象进行初始化
可以用代码来证明

    static {
        System.out.print("a");
    }
    public static void main(String[] args) {
        Pig pig = new Pig();
        Pig pig1 = new Pig();
        Pig pig2 = new Pig();
        Pig pig3 = new Pig();
        pig.show();
    }
    static {System.out.print("b");
    }

class Pig{
    static {System.out.print("c");}

    {System.out.print("d");}

    public Pig() {System.out.print("e");}

    public void show() {System.out.print("f");}
}

规范

赋值的规范:set
构成:修饰词 返回值 方法名(参数列表){
方法体中的代码
return 返回值}
修饰词:一定是public
返回值:不需要返回,用void
方法名:set+属性的名字,大写首字母
参数列表:与属性同名
return 不需要

取值的规范:get
构成:修饰词 返回值 方法名(参数列表){
方法体代码
return 返回值}
修饰词:public
返回值:类型与属性一致
方法名:get+属性的名字,首字母大写
参数列表内:不需要
代码:没有
return 属性的名字/this.属性的名字

    public void setBulletNumber(int bulletNumber ){
        //完成过滤
        if (bulletNumber < 0){
            bulletNumber = 0;
        }else {
            this.bulletNumber = bulletNumber;
        }
    }

    public int getBulletNumber(){
        return this.bulletNumber;
    }
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页