首页 > 编程语言 >章10——面向对象编程(高级部分)——final关键字

章10——面向对象编程(高级部分)——final关键字

时间:2024-09-05 20:25:31浏览次数:10  
标签:10 public radius 面向对象编程 static Circle PI final

基本介绍

注意事项

final修饰不同东西
属性:相当于常量,需要赋初值(构造器(除static)、代码块、定义时)。
构造器不可以是静态的,因为构造器中隐含了super和this。
类:不可继承。
方法:不可重写,但可继承。因为不可以重写的特质不可以修饰构造方法。
final和static搭配效率高是因为:不会导致类加载。

但是不是说,final修饰后相当于常量,赋初值后不可修改吗?

有关一点思考:

public class FinalExercise01 {
    public static void main(String[] args) {
        Circle circle = new Circle(2.4);
        double ans = circle.calculateS();
        System.out.println(ans);
        Circle circle1 = new Circle();
        circle1.radius = 2.4;
        ans = circle1.calculateS();
        System.out.println(ans);
    }
}

class Circle{
    public double radius;
    private final double PI ;

    public Circle(){
        PI = 2;
    }

    public Circle(double radius) {
        this.radius = radius;
        PI = 3.14;
    }

    public double calculateS(){
        return PI * radius * radius;
    }
    
    public void print(){
        System.out.println(PI);
    }
    
}

如上代码最终可以得出,虽然final修饰的属性是常量,但由于没有static修饰时,不同对象都有一个final值,所以此时PI的值不唯一。
但若加上static修饰,赋初值只可在静态中赋值,此时PI全类仅有唯一实例。

标签:10,public,radius,面向对象编程,static,Circle,PI,final
From: https://www.cnblogs.com/gknives/p/18399191

相关文章

  • 018、二级Java操作题汇总最新版100000+字
    目录1.基本操作(源代码):1.11.21.31.41.51.61.71.81.91.101.111.121.131.141.151.161.171.181.191.201.211.221.231.241.251.261.271.281.291.301.311.321.331.341.351.361.371.381.391.401.411.421.431.441.451.461.471.481.......
  • ctfshow-web入门-信息搜集(web1-web10)
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录web1(查看源代码)右击页面查看源代码web2(js前台拦截===无效操作)打开题目地址采用burp抓包并进行重发数据包web3(没思路的时候抓个包看看,可能会有意外收获)打开题目链接查看源码无果采用burp抓包并......
  • 面试官:limit 100w,10为什么慢?如何优化?
    在MySQL中,limitX,Y的查询中,X值越大,那么查询速度也就越慢,例如以下示例:limit0,10:查询时间大概在20毫秒左右。limit1000000,10:查询时间可能是15秒左右(1秒等于1000毫秒),甚至更长时间。所以,可以看出,limit中X值越大,那么查询速度都越慢。这个问题呢其实就是MySQL......
  • 10.面向对象(2)
    MODULE10 面向对象知道继承的好处会使用继承知道继承之后成员变量以及成员方法的访问特点会方法的重写,以及知道方法重写的使用场景会使用this关键字调用当前对象中的成员会使用super关键字调用父类中的成员会定义抽象方法以及抽象类会重写抽象方法一.继承(一)什么是继承1.我......
  • 光影精灵10 Win1+Ubuntu18.04 双系统 踩坑记录
    前言第二年准备报名智能车了,当然还是创意组别。刚好买了今年新出的电脑光影精灵10,我想着也给它安一个双系统。但是没想到,相比于之前那个老电脑,新电脑的新硬件和驱动问题远比老电脑麻烦的多。在经历了一系列踩坑和疯狂查资料之后,加上重装系统N次,终于成功下车。遂把过程记录下来,以......
  • 1000多天我开发了一个免费的跨浏览器的书签同步、阅读排版、任意网页标注插件
    自我介绍大家好,我是阿浩,一位后端开发工程师,同时也略懂前端技术。业余时间,我开发了这款小工具——《藏趣云》。我为什么要写这么个工具需求来源于我自己,因为我是做开发的。我日常都会使用多款浏览器来测试项目,一次需要登录多个账号,寻找各种测试地址链接。之前因为电脑磁盘损坏、......
  • 分享4款安全与认证IC:DS28E30P、MAXQ1065GTC、RNG90-MAVDA-T、RNG90-SSVDA-T(介绍)
    1、DS28E30P安全认证器提供了一种基于FIPS-186ECDSA标准的完整认证解决方案,不仅高度安全,而且易于部署。该安全认证器采用ECDSA挑战和响应认证方式,同时利用安全EEPROM来存储密钥和用户数据。该器件提供了一套核心加密工具,这些加密工具由多种集成块衍生而来,包括一个非对称硬件引擎、......
  • 2024.08.10美团
    1.小美的密码小美准备登录美团,需要输入密码,小美忘记了密码,只记得密码可能是n个字符串中的一个。小美会按照密码的长度从小到大依次尝试每个字符串,对于相同长度的字符串,小美随机尝试,并且相同的密码只会尝试一次。小美想知道,她最少需要尝试多少次才能登录成功,最多需要尝试多少......
  • 【32项目】基于stm32f103c8t6的智能拐杖(文章末尾含完整代码)
    一.设计背景当我们带着家中的老人出去游玩时,难免会遇到有时老人走丢的情况,加上一般他们没有随时携带手机的习惯,很难找到他们,于是我们设计了一款智能的拐杖,通过通过GPS、电子罗盘等模块,来获取经纬度和磁北的夹角,然后通过对方的经纬度计算距离和角度,指向对方的位置,显示为对方的......
  • 解决Windows 10系统更新后谷歌浏览器的兼容性问题
    随着Windows10系统更新的推出,用户可能会遇到谷歌浏览器(Chrome)与更新不兼容的问题,如网页显示错误、扩展程序故障或性能下降等。本教程旨在提供一系列解决方案,帮助用户克服这些问题,确保浏览器平稳运行。(本文由https://chrome.cmrrs.com/站点的作者进行编写,转载时请进行标注。)......