JavaSE——类与对象(下)

本文详细介绍了Java中类与对象的概念,包括属性的初始化顺序、构造器的作用以及代码块的使用。特别地,讲解了内部类的创建和调用外部类的方法与属性,通过实例展示了静态和非静态代码块的执行顺序。此外,还探讨了如何在实际编程中应用这些概念。
摘要由CSDN通过智能技术生成

JavaSE——类与对象(下)

类与对象

  1. 属性

属性赋值的先后顺序:
1、默认初始化
2、显示初始化/代码块中初始化
3、构造器中初始化
4、有了对象以后,可以通过“对象.属性”赋值。

  1. 方法
  2. 构造器
    见类与对象上
  3. 代码块

代码块的作用:用来初始化类、对象
代码块如果有修饰的话,只能使用static

1、静态代码块:内部可以有输出语句;随着类的加载而执行,而且只执行一次。
2、非静态代码块:内部可以有输出语句;随着对象的加载而执行,而且每创建一次对象,执行一次。

注意
执行顺序:由父及子,静态先行
父类静态代码块–>子类静态代码块–>父类非静态代码块–>父类构造器–>子类非静态代码块–>子类构造器

  1. 内部类

如何创建内部类

public class test {
    public static void main(String[] args) {
        People.dog a=new People.dog();
        a.fun();
        People b=new People();
        People.cat c=b.new cat();//注意非静态内部类的调用方法
        c.fun();
    }
}


class People{
    private int age;
    
    static class dog{
        public void fun(){
            System.out.println("这人养了狗");
        }
    }
    
    public class cat{
        public void fun(){
            System.out.println("这人养了猫");
        }
    }
}

内部类如何调用外部类方法和属性

public class world {


    public static void main(String[] args) {
        //静态成员内部类实例化
        world atest = new world();
        world.Btest btest = atest.new Btest();
        btest.say("18");
    }

    public static String name = "张三";
    public String age = "23";


    class Btest{
        public String age = "22";

        public void say(String age){
            System.out.println("我是输出的形参参数,age = " + age);
            System.out.println("我是输出的Btest类成员变量,age = " + this.age);
            System.out.println("我是输出的world类成员变量,age = " + world.this.age);
        }
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值