Java语言--面向对象(下)

Java语言–面向对象(下)

1. 包

包就是目录
Java中的包和在磁盘中的目录是一一对应的,如果代码中的文件太多,就需要分类放到不同的目录中。

1.1 包的创建

在这里插入图片描述
static 关键字:

  1. 如果类中的某个方法加上了 static 关键字,说明这个成员是个类属性/类方法. 如果没有 static ,成员是一个实例属性/实例方法
public class Cat {
    public String name;
    public String gender;

    public Cat(String name, String gender){
        this.name = name;
        this.gender = gender;
        }
}

以上代码中 name 和 gender 属性都没有加 static 关键字, 说明此时的 name 和 gender 都是实例属性, 和对象相关,不同的对象就可以有不同的属性的值

        Cat cat = new Cat("一月", "公猫");
        Cat cat1 = new Cat("二月","母猫");

cat 和 cat1 是不同的对象,他们的 name 和 gender 属性的值是不同的
在这里插入图片描述
2. static 修饰的方法中不能使用this,this指向的是当前的实例, static 方法和实例无关只和类有关,同理也无法在static 中访问非 static 的变量和方法
3. static 修饰代码块,这个代码块成为"静态代码块", 这个代码块只在类加载的时候执行一次. 往往用来初始化静态成员.

2. 访问限定符

通过访问限定符体现面向对象的封装的特性
public: 修饰的成员可以被外部的类随意访问
private: 只能在类的内部使用
protected:搭配继承使用
default(不写): 包级权限, 在同一个包中的类都能使用
封装的目的就是让使用者了解到的信息尽量少,如果一个成员被 private 修饰了, 此时使用者就获取不到了,一个成员能被设置成 private 就尽量设置成private

3.内部类

把类的定义写到另一个类中
内部类可以分为

  1. 普通的内部类/成员内部类
  2. 静态内部类(内部类前加static)
  3. 匿名内部类(相对比较常用)
  4. 局部内部类(直接定义到方法内部的)
    在这里插入图片描述
    JVM 将申请到的一大块区域划分为栈、堆、方法区
    栈中保存到是方法和方法之间的调用关系;
    堆中保存的是 new 出来的对象(实例),实例属性在堆上;
    方法区中保存的是一个一个“类相关的信息”,每个类方法的二进制指令也在这里,类属性在方法区。对于方法来说,不管有没有 static 修饰,对应的内容都在方法区中。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值