关于static

自己傻逼了,写下来给自己提醒。

程序如下:

public class Test

{

public int count()

{


return 1%9;

}

public static void main(String[] args)

{


System.out.println(count());



}



}



问这个代码通不过 为什么。

解:

只要在这个定义count(0就可以了。

public static int count()

{

return 1%9;


}

这个多加了一个static就可以了,为什么呢?

因为static 表示我本身就存在,就是说我不管你这个类有没有被实例化(就是有没有被new)我就存在了,就可以用了,

但是如果不加这个 static 就是说 我这个count()这个方法是要随着Testz这个类的new 才能存在的,他不new 我就不存在这个方法。

换句话说还有别的修改办法,如下。

public class ja2
{
public int count()
{
return 1%9;



}
public static void main(String args[])
{
ja2 ee=new ja2();
System.out.println(ee.count());


}
}

这里 我先new了一下就是说已经创建了一个类,相应的count方法就存在了 就是可以调用了

`static_cast` 是一种类型转换运算符,在 C++ 中用于显式地进行不同类型之间的安全转换。当涉及到指针时,`static_cast` 主要有以下几个用途: ### 1. 基类指针到派生类指针的向上向下转型 #### 向上转型 (Upcasting) 从派生类向基类方向转化通常不需要强制类型转换即可完成,因为在继承体系中这是一种自然的行为。 示例代码: ```cpp class Base {}; class Derived : public Base {}; int main() { Derived d; Base* basePtr = &d; // No cast needed here. } ``` #### 下降转型 (Downcasting) 使用 static_cast<> 如果你需要把一个 `Base*` 转换回原来的 `Derived*` 形式,则可以使用 `static_cast<>` 来实现这一点。但是请注意,这假设了你确切知道所指代的实际对象确实是某种特定类型的实例 - 如果猜测错误的话程序运行期行为将是未定义的! 示例代码: ```cpp #include <iostream> using namespace std; class Base {public: virtual ~Base(){}};//注意这里的虚析构函数很重要! class Derived : public Base {}; void identify(Base* b){ if(dynamic_cast<Derived*>(b)) cout << "It&#39;s a Derived." ; } int main(){ Derived d; Base* bp=&d; // Safe downcast using dynamic_cast or static_cast: Derived* dp=dynamic_cast<Derived*>(bp); if(dp!=nullptr){/*Use derived pointer safely*/} else{ /*Handle error case */ } return 0; } ``` 上述例子展示了如何通过 `static_cast` 或者更推荐使用的 `dynamic_cast`(对于含有虚拟成员函数的情况而言更为可靠些)来进行正确的下降型转换检查与处理流程设计思路。 --- ### 2. 简单数据类型间的转换 除了复杂结构如类之间外,还可以利用它来做一些基本数值类别间相互转变任务,例如浮点数转整数等等情形之下也十分常见实用价值很高。 示例代码: ```cpp double piValue = 3.14159; int roundedPi = static_cast<int>(piValue); // Rounds towards zero to integer value of &#39;3&#39; cout<<"Rounded Pi Value:"<<roundedPi<<"\n"; ``` 以上案例解释了怎样借助于 `static_cast` 把双精度实数形式表达圆周率近似取值结果简化成对应最近邻接正比关系下的单纯纯量积分单元表述样式出来供后续进一步操作运用需求场合选用参考采纳实施落地应用方案部署规划安排筹备考虑进去才行哦~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值