首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java重写private vs public

Java中的重写(Override)是指子类重新定义父类中已有的方法。在重写方法时,访问修饰符(Access Modifier)是一个重要的考虑因素。在这个问题中,我们需要比较私有(private)和公有(public)访问修饰符在重写方法时的区别。

私有访问修饰符(private)用于限制方法只能在定义它的类内部访问。私有方法无法被子类继承或重写。因此,无论是子类还是其他类,都无法重写父类中的私有方法。

公有访问修饰符(public)用于指定方法可以被任何类访问。当父类中的方法被声明为公有时,子类可以继承该方法并重写它。子类中的重写方法必须具有相同的方法签名(方法名称、参数列表和返回类型)。

总结起来,私有方法无法被重写,而公有方法可以被子类重写。这是因为私有方法只能在定义它的类内部访问,无法被子类继承或访问。而公有方法可以被任何类访问,包括子类。

以下是私有方法和公有方法的特点总结:

私有方法:

  • 无法被子类继承或重写
  • 只能在定义它的类内部访问
  • 适用于实现类的内部细节,不希望被外部类或子类访问

公有方法:

  • 可以被子类继承和重写
  • 可以被任何类访问
  • 适用于定义类的公共接口,供外部类或子类使用

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Javaprivate、protected、public 和 default 的区别

public: 具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。...private: 访问权限仅限于类的内部,是一种封装的体现,例如,大多数成员变量都是修饰符为private的,它们不希望被其他任何外部的类访问。 ?...作用域 注意:java的访问控制是停留在编译层的,也就是它不会在.class文件中留下任何的痕迹,只在编译的时候进行访问控制的检查。...区别: public:可以被所有其他类所访问 private:只能被自己访问和修改 protected:自身、子类及同一个包中类可以访问 default:同一包中的类可以访问,声明时没有加修饰符,认为是

98130

Java 中使用 publicprivate 和 protected 修饰的方法

当然对类来说,相信大部分都默认使用 Public,大部分人都不去纠结。 Public: 简单来说就是谁都可以访问,你写个类除了特殊要求,当然都是希望大部分人用的。 Private:私有。...Private 这个在类中的私有方法中定义比较多。 Protected:这个就是最纠结,简单来说就是这个修饰的方法使用范围比 Public 小,但是又比 Private 大。...这就是为什么你看很多人的代码的时候,大部分都是 PublicPrivate,用 Protected 修饰的方法远没有这 2 个这么多。...对日常的业务逻辑开发,只要是类里面的方法,你就 Private,因为别人也不一定用得到。 如果你希望其他人用,就 Public,并且单独做成类,让别人直接调用吧,不要过于纠结。...https://www.ossez.com/t/java-public-private-protected/14056

61720

一分钟学Javapublicprivate

大家一起鼓掌,欢迎也欢迎大家来一起寻找今天的错误 今日正文 大家好,欢迎收听今天小刀一分钟学java之访问修饰符, 如public , private , protect , default 这些等等...: 一般使用在 静态成员常量如 public static final String MINI="程序员学习大本营"; private : 从封装的角度来说,建议变量都定义成private ,然后需要被外界访问到的..., 暴露一个get方法出去 private String mini = "程序员学习大本营"; public String geMini(){ return mini; } protect : 一般用在架构设计中...,存放一些子类公用的变量 public class BaseXXX { protected String mini; } public class SubXXX extends BaseXXX{...英语学习 In our work , we should use 'private' to protect our parameters.

50120

Java中的private、protected、public和default的区别(详解)

(1)对于public修饰符,它具有最大的访问权限,可以访问任何一个在CLASSPATH下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。...(4)对于private来说,它的访问权限仅限于类的内部,是一种封装的体现,例如,大多数的成员变量都是修饰符为private的,它们不希望被其他任何外部的类访问。...下表为Java访问控制符的含义和使用情况 类内部 本包 子类 外部包 public √ √ √ √ protected √ √ √ × default √ √ × × private √ × × ×...注意:Java的访问控制是停留在编译层的,也就是它不会在.class文件中留下任何的痕迹,只在编译的时候进行访问控制的检查。...区别: (1)public:可以被所有其他类所访问。 (2)private:只能被自己访问和修改。 (3)protected:自身,子类及同一个包中类可以访问。

1.4K40

【以太坊篇】-solidity中“public、internal、private

解决:在returns前加 public 结果图: 结果从上往下的含义: 获取当前区块:当前区块在整个区块链网络在第几块。 获取挖矿矿工地址:矿工记账后的奖励。...public类型的状态变量和函数的权限最大,可供外部、子合约、合约内部访问。 这就意味着任何一方 (或其它合约) 都可以调用你合约里的函数。...状态变量声明时,默认为internal类型,只有显示声明为public类型的状态变量才会自动生成一个和状态变量同名的get函数以供外部获取当前状态变量的值。...函数声明时默认为public类型,和显示声明为public类型的函数一样,都可供外部访问。 当把public换成internal后已经对外无法访问调用。...internal 和 private 类似,不过, 如果某个合约继承自其父合约,这个合约即可以访问父合约中定义的“internal”函数。

56420

swift 访问控制(open、public、internal、fileprivate、private

framework 或 程序 源文件:开发自己在工程里新建的代码文件 访问级别 Swift 为代码中的实体提供了五种不同的访问级别 内容 说明 Open 只能作用于类和类的成员,可以被任何人使用,包括重写和继承...Public 可以被任何人使用。...但其他模块中不可以被重写和继承,而在本模块内可以被重写和继承 Internal(默认访问级别,修饰符可写可不写) 所修饰的属性或方法在源代码所在的整个模块都可以访问。...但是,你也可以使用 fileprivate 访问或 private 访问级别,用于隐藏一些功能的实现细节 框架的访问级别 当你开发框架时,就需要把一些对外的接口定义为 Open 或 Public,以便使用者导入该框架后可以正常使用其功能...可以通过重写为继承来的类成员提供更高的访问级别 public class ClassA{ fileprivate func run(){ } } internal

53810

破局Cmake中的PRIVATEPUBLIC,INTERFACE

前言 最近看了很多项目的代码,代码是用cmake编译的,由于各种库之间链接关系错综复杂,加上PRIVATEPUBLIC,INTERFACE属性值,我在添加代码的时候总会遇到稀奇古怪的编译的问题,网上看了很多文章...有三种: PRIVATE PUBLIC INTERFACE 缺省值为PUBLIC 二、可见性的传递(非常重要) 每一个Target对于自身设置的不同属性处理 对于...private的property,不会传递,只会自己用。...: 假设如下链接关系 target_link_libraries(B XXX A)// XXX为privatepublic,interface 如果XXX为private,A的可传递属性变成...B的private property 如果XXX为public,A的可传递属性变成B的public property 如果XXX为interface,A的可传递属性变成B的interface

57330

Java——四种访问控制权限(private、default、protected、public)及Java命名规范

目录 1、访问控制权限 2、Java命名规范 1、访问控制权限 之前的博文中提到了访问控制权限,本文系统的讲解下。...Java中一共定义四种访问控制权限,由小到大的顺序是:private<defult<protected<public。...B b = new B(); b.print(); } } 【举例】错误的代码:下面,不使用子类B,直接在测试类中操作A 实际开发中,基本都会遵循这样的原则:属性使用private...定义,方法使用public定义。...2、Java命名规范 类名称每个单次的首字母必须大写,eg:TestDemo; 属性名称:第一个单次的字母小写,而后每个单次的首字母大写,eg:studentName; 方法名称:第一个单次的字母小写,

80110

深入理解C++中public、protected及private用法

1.类的一个特征就是封装,publicprivate作用就是实现这一目的。...所以:用户代码(类外)可以访问public成员而不能访问private成员;private成员只能由类成员(类内)和友元访问。2.类的另一个特征就是继承,protected的作用就是实现这一目的。...有public, protected, private三种继承方式,它们相应地改变了基类成员的访问属性。...1.public继承:基类public成员,protected成员,private成员的访问属性在派生类中分别变成:public, protected, private2.protected继承:基类public...成员,protected成员,private成员的访问属性在派生类中分别变成:protected, protected, private3.private继承:基类public成员,protected成员

1.9K20
领券