day12知识点总结:构造方法 方法重载

方法内存图

在这里插入图片描述
在这里插入图片描述

构造方法

导入同一Package下的类没有import导入语句
若导入别的Package下的类有import导入语句

import com.javacto.day12.e.Dog;
//导入package e下面的Dog类

特征(6点)

1.无返回值(即返回值的位置不能出现int、void、String)
2.方法名字与类名相同
3.不能像普通方法那样被调用
4.构造方法在new对象(创建对象)时被调用
5.如果没有创建,系统默认创建1个无参构造方法
6.如果创建了,系统不会再创建无参构造方法

分类

无参构造方法

 //创建无参构造方法
   public Dog(){
        System.out.println("这是1个无参构造方法");
    }

有参构造方法

//创建含有1个参数的构造方法
    public Dog(String name){
        System.out.println("这是1个无参构造方法,传入的参数为"+name);
    }

一般可通过构造方法赋值

public  Dog(String name,int health,int love22,String strain){
        //this代表当前的类 this在不同的类中代表的对象不一样
        this.name=name;
        //this.name指在当前的Dog类中寻找name变量
        this.health=health;
        //若写成“health=health;”,首先在方法体里面找名为health的变量,这里的health指传过来的health值
        love=love22;
        //这里的love指类Dog中的love变量,因为首先在方法体里没有找到名为love的变量,就去类中方法体外范围内找名为love的变量(即类Dog中的love变量)
        this.strain=strain;
    }

方法重载

特征(5点)

1.普通方法可以重载,构造方法也可以重载
2.方法能否重载与有无返回值无关
3.方法名相同才叫重载
4.判断方法是否重载与修饰符没有关系(只要其他条件满足,2个方法名前是public和protected都属于方法重载)
5.参数列表个数不同,或者参数类型不同,或者参数列表个数和类型都不同
(注:判断 方法是否重载与变量类型顺序有关,但与变量名没有任何关系)

static静态修饰符

static代码块
示例代码
注:1.构造方法:在new对象时被调用
2.static代码块:在类加载之前被调用

public class StaticDemo01 {
    //创建构造方法
    public StaticDemo01(){
        System.out.println("在new对象时被调用1");
    }
    //static静态代码块 在类加载之前被调用
    static{
        System.out.println("在类加载之前被调用2");
    }
}

测试类Test01

public class Test01 {
    public static void main(String[] args) {
        //创建对象
        StaticDemo01 s1=new StaticDemo01();
        //类只被加载1次
        StaticDemo01 s2=new StaticDemo01();
    }
}

结果截图
在这里插入图片描述
静态属性(static修饰的变量)
注:1个被声明的静态变量只被初始化1次(注意理解)
示例代码

public class StaticDemo02 {
    //创建普通变量
    public int i=0;
    //创建静态变量
    public int b=0;

    //创建构造方法进行操作
    public StaticDemo02(){
        i++;
        b++;
    }
}

测试类Test02

public class Test02 {
    public static void main(String[] args) {
        StaticDemo02 s1=new StaticDemo02();
        StaticDemo02 s2=new StaticDemo02();
        StaticDemo02 s3=new StaticDemo02();

        System.out.println(s1.i);
        System.out.println(s2.i);
        System.out.println(s3.i);

        System.out.println(s1.b);
        System.out.println(s2.b);
        System.out.println(s3.b);
    }
}

结果截图
在这里插入图片描述

内存图图解
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值