当前位置: 首页 > article >正文

Java高频面试之SE-06

hello啊,各位老6!!!本牛马baby今天又来了!哈哈哈哈哈嗝🐶

访问修饰符 public、private、protected的区别是什么?

在Java中,访问修饰符用于控制类、方法和变量的访问权限。主要的访问修饰符包括 publicprivateprotected,它们分别具有不同的访问级别和使用场景。

1. public

  • 访问权限public 修饰符允许类、方法或变量被任何其他类访问。
  • 使用场景:适合那些需要被广泛访问的类和方法,例如库、API 或公共服务。
  • 示例
    public class MyClass {
        public int myPublicVariable;
    
        public void myPublicMethod() {
            // 任何地方都可以调用这个方法
        }
    }
    

2. private

  • 访问权限private 修饰符限制访问,只允许同一类内的其他成员(变量和方法)访问。
  • 使用场景:适合封装类的内部实现细节,保护数据不被外部直接访问。通常结合 getter 和 setter 方法来提供安全的访问和修改。
  • 示例
    public class MyClass {
        private int myPrivateVariable;
    
        private void myPrivateMethod() {
            // 只能在 MyClass 内部调用
        }
        
        public void setMyPrivateVariable(int value) {
            myPrivateVariable = value; // 通过公共方法访问私有变量
        }
    }
    

3. protected

  • 访问权限protected 修饰符允许同一包内的其他类访问,以及不同包中的子类访问。
  • 使用场景:适合用于继承的情况下,让子类能够访问父类的某些成员,同时又不开放给同一包外的所有类。
  • 示例
    public class MyBaseClass {
        protected int myProtectedVariable;
    
        protected void myProtectedMethod() {
            // 子类和同包其他类可以访问
        }
    }
    
    public class MyDerivedClass extends MyBaseClass {
        public void myMethod() {
            myProtectedVariable = 10; // 子类可以访问
        }
    }
    

总结

  • public:任何地方都可以访问。
  • private:仅允许运行所在的类访问。
  • protected:允许运行所在类、同一包中的类和子类访问。

选择合适的访问修饰符不仅可以提高代码的封装性和安全性,还可以使得代码更加易于理解和维护。

java中this关键字有什么作用?

在Java中,this 关键字是一个特殊的引用,代表当前对象的实例。在类的方法或构造函数中,使用 this 关键字可以明确地指向当前对象的属性和方法。以下是 this 关键字的一些主要作用和使用场景:

1. 区分实例变量和参数

当构造函数或方法的参数与类的实例变量同名时,可以使用 this 来区分它们。this 关键字指向实例变量,而没有 this 前缀的指向的是方法参数。

public class Example {
    private int value;

    public Example(int value) {
        this.value = value; // 使用 this 区分实例变量和构造函数参数
    }
}

2. 调用实例方法

在类的实例方法中,可以使用 this 关键字调用其他实例方法。虽然可以直接调用其他方法,但使用 this 明确地指向当前对象,有助于提高代码可读性。

public class Example {
    public void methodA() {
        System.out.println("Method A");
    }

    public void methodB() {
        this.methodA(); // 使用 this 调用同一类的其他方法
    }
}

3. 传递当前对象

可以使用 this 将当前对象作为参数传递给其他方法或构造函数。

public class Example {
    public void display(Example obj) {
        System.out.println("Displaying object: " + obj);
    }

    public void callDisplay() {
        this.display(this); // 传递当前对象
    }
}

4. 返回当前对象

可以使用 this 在实例方法中返回当前对象,这在实现方法链时非常有用,如在构建器模式中。

public class Builder {
    private String name;

    public Builder setName(String name) {
        this.name = name;
        return this; // 返回当前对象,以便于链式调用
    }
}

5. 在构造函数中调用另一个构造函数

this 关键字可以在一个构造函数中调用另一个构造函数(构造函数重载),以避免代码重复。

public class Example {
    private int value;

    public Example() {
        this(10); // 调用另一个构造函数
    }

    public Example(int value) {
        this.value = value;
    }
}

总结

this 关键字在Java中有助于提高代码的可读性和可维护性,尤其是在处理实例变量、调用方法,以及在构造函数和方法中传递当前对象时。在编写面向对象的程序时,适当地使用 this 可以使代码更加清晰。

IDEA ji huo
https://pan.quark.cn/s/4216736c0427
🎬大全
https://kdocs.cn/l/cqhxNU9I2lLD
12306回家科技
https://pan.quark.cn/s/45f6bf9be1b3
在这里插入图片描述


http://www.kler.cn/a/463446.html

相关文章:

  • 数据结构与算法之动态规划: LeetCode 213. 打家劫舍 II (Ts版)
  • 深入浅出 Beam Search:自然语言处理中的高效搜索利器
  • Linux终端输入删除键backspace显示^H,输入上下左右键显示^A^B^C^D原理以及详细解决办法!
  • Node 如何生成 RSA 公钥私钥对
  • RS485方向自动控制电路分享
  • 硬件工程师面试题 21-30
  • 【PDF物流单据提取明细】批量PDF提取多个区域内容导出表格或用区域内容对文件改名,批量提取PDF物流单据单号及明细导出表格并改名的技术难点及小节
  • 【华为OD-E卷 - 异常的打卡记录100分(python、java、c++、js、c)】
  • python数据分析:使用pandas库读取和编辑Excel表
  • 期末速成C++【知识点汇总完】
  • vite+vue3项目启动报错
  • windows C#-声明、实例化和使用委托
  • 青少年编程与数学 02-005 移动Web编程基础 10课题、设备调用
  • 创建线程的8种方法
  • 计算机网络原理(谢希仁第八版)第4章课后习题答案
  • 在 Swift 中使用 SQL 组合人员和地址数据
  • ChatGPT 与 AGI:人工智能的当下与未来走向全解析
  • UE5材质节点Frac/Fmod
  • NestJS 中间件与拦截器:请求处理流程详解
  • 前端安全措施:接口签名、RSA加密、反调试、反反调试、CAPTCHA验证
  • Go 语言 API 限流实战:保障系统稳定性的护盾
  • 2024年终总结:非常充实的一年
  • Three.js教程007:响应式画布与全屏控制
  • 深度学习每周学习总结R2(RNN-天气预测)
  • Postman[5] 环境变量和全局变量
  • 虚拟机Centos下安装Mysql完整过程(图文详解)