《Head First Java》20201002读书笔记

P273-P280

《Head First Java》20201002读书笔记

第10章 数字与静态

Math方法:最接近全局的方法

在Math这个类中的所有方法都不需要实例变量值。因为这些方法都是静态的,所以无需Math的实例。你会用到的只有它的类本身。
例如Math这个类中的round()方法,它永远都执行相同的工作——取出浮点数(方法的参数)的最接近整数值。如果有10000个Math的实例,并且都执行round(42.2),所得的值永远都会是42。
这个方法会对参数执行操作,但这操作不受实例变量状态的影响,唯一能够改变round()行为的只有所传入的参数。

非静态方法与静态方法的差别

Java是面向对象的,但若处于某种特殊的情况下,通常是实用方法,则不需要类的实例。
static这个关键词可以标记出不需类实例的方法。
一个静态的方法代表说“一种不依靠实例变量也就不需要对象的行为”。
在这里插入图片描述

静态的方法

在这里插入图片描述
带有静态方法的含义
【什么叫做“也可以用私有的构造函数来限制非抽象类被初始化”?】
只要有main()的类都算有静态的方法。
通常写出main()来启动或测试其他的类。从main()中创建类的实例并调用新实例上的方法。
因此你可以任意地在类中组合静态与非静态的方法,然而任何非静态的方法都代表必须以某种实例来操作。
取得新对象的方法只有通过new或者序列化(deserialization)以及不会讨论的Java Reflection API。
静态的方法不能调用非静态的变量
静态的方法是在无关特定类的实例情况下执行的。
静态的方法是通过类的名称来调用,所以静态的方法无法引用到该类的任何实例变量。【这句话是什么意思?】
静态的方法也不能调用非静态的方法
静态变量:它的值对所有的实例来说都相同
没看明白?表达的是什么意思?
在这里插入图片描述
静态变量是共享的。
同一类所有的实例共享一份静态变量。

实例变量:每个实例1个。
静态变量:每个类1个。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值