Java类的基础知识

类与对象的定义

类包括:成员变量、成员方法

成员变量直接定义在类的当中,在方法外面
成员方法不要写static关键字

类的使用

  1. 导包,指出使用的类,在什么位置
    import 包名称.类名称
    对于和当前类在同一包的情况,可以省略导包不写
  2. 创建
    类名称 对象名 = new 类名称()
    Student stu = new Student();
  3. 使用
    使用成员变量,使用成员方法

对象的内存图

一个对象的内存图

在这里插入图片描述
访问成员变量one.brand,直接通过one的地址访问new 对象brand

访问成员方法one.call(),先进栈,通过栈里one的地址访问堆里new出来的成员方法,再访问方法区的方法,然后弹栈。

两个对象的内存图

在这里插入图片描述
两个对象在堆内独立,互不影响

在这里插入图片描述
两个对象引用指向了同一个对象空间

对象作为方法参数

在这里插入图片描述
当一个对象作为方法参数的时候,传递的参数是对象的地址值。

对象作为方法返回值

在这里插入图片描述
使用对象作为方法的返回值时,返回值是引用的地址值。

局部变量和成员变量

  1. 定义的位置不一样
    局部变量:在方法的内部
    成员变量:在方法的外部,直接写在类中
  2. 作用范围不一样
    局部变量:只有方法中才可以使用
    成员变量:整个类都可使用
  3. 默认值不一样
    局部变量:没有默认值,未赋值不能使用
    成员变量:如果没有赋值,会有默认值
  4. 内存地址不一样
    局部变量:位于栈内存
    成员变量:位于堆内存
  5. 生命周期不一样
    局部变量:随着方法进栈而产生,随着方法出栈而消失
    成员变量:随着对象创建而诞生,随着对象被垃圾回收而消失

面向对象的封装性

将信息隐藏起来,对于外界不可用

  1. 方法就是封装
  2. 关键字private 也是一种封装

使用private进行修饰,超出本类范围之外就不能直接访问,可以通过方法进行间接访问。

就近原则

当方法的局部变量和类的成员变量重名的时候,根据就近原则,优先使用局部变量
如果需要访问本类中的成员变量,需要使用格式this.成员变量
通过谁调用的方法,谁就是this

构造方法

构造方法是专门创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法。

构造方法也是可以重载
public 类名称 (参数类型 参数名称){
方法体
}

可以通过genarate直接生成类的getter、setter、construction

匿名对象的使用

匿名对象只能使用一次,如果确定一个对象只需要唯一的一次,就可以用匿名对象。

匿名对象作为方法参数输入

    public static void main(String[] args) {
        //普通使用方式
        Scanner sc =new Scanner(System.in);
        int num1= sc.nextInt();
        //匿名对象的方式
        int num2 =new Scanner(System.in).nextInt();
        System.out.println("输出的是:"+num2);
        //使用一般写法传入参数
        Scanner sc1 =new Scanner(System.in);
        methodParam(sc1);
        //使用匿名对象来进行传参
        methodParam(new Scanner (System.in));
    }
    public static void methodParam(Scanner sc){
        int num=sc.nextInt();
        System.out.println("输入的是:"+num);

    }
    public static Scanner methodReturn(){
//        Scanner sc= new Scanner(System.in);
//        return sc;
        return new Scanner(System.in);//匿名对象作为方法返回值
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值