A. java里面的const-string什么意思
java里面没法用const。
1、可以用final关键字。
2、例如 final int m = 9。
被声明为final的变量不能被再次赋版值。
final也可以用于声明方法或类,权被声明为final的方法或类不能被继承。
3、注意const是java的保留字以备扩充。
const-String表示定义好的字符串常量在任何位置都不能被更改。
B. global、static、const、final 以及private、protected、public
在编程领域,理解不同访问修饰符对于代码组织和安全性至关重要。首先,我们来探讨public(公共的)、protected(受保护的)、private(私有的)三个访问修饰符。
它们的开放性由大到小依次为public>protected>private。public修饰的成员可以在任何地方被访问,不受限制。protected修饰的成员仅在继承类中可访问,但不包括继承类的子类。private修饰的成员只能在其所属类内被访问,无法从外部访问。
接下来,让我们关注global(全局的)、const(常量)、static(静态的)、final(最终的)这些修饰符。
global修饰的变量在整个程序中可被访问,其值在程序的整个生命周期中保持不变。const修饰的变量在声明时被初始化且在程序运行期间不可修改。static修饰的成员变量或函数属于类,而非实例,可被多个对象共享,且静态方法只能访问静态变量或调用静态方法。final修饰的变量一旦被赋值就不能更改,同时final关键字也可以用于修饰类、方法和变量,限制它们的继承性或可改变性。
综上所述,不同类型的访问修饰符为编程提供了丰富的灵活性,帮助开发人员构建更安全、更易于维护的代码结构。正确使用这些修饰符可以确保代码的清晰度、可访问性和安全性,从而提升程序的整体质量。
C. JAVA中的final等于C++中的const
Java里面的final放在类型如之前(比如final class_A p1 = obj_A),和指针里面的常量指针(形如const int* p2 = &var;)刚好是相反的!!前者可以通过p1修改obj_A,而c++里常量指针表示没有权限修改指向的东西。与前者相对应的应该是int* const p3 = &var!!!也就是指针常量。java里的final和c++里的指针常量都不能更改绑定,却可以修改对象内部。而常量指针恰恰相反
D. Java里面final的用法以及解释一下和c++中const用法的联系
在JAVA中方法传递的参数是对象的应用,而你在方法中修改的并不是这个应用的而是修改了被应用对象的值,所以是可以修改的。但如果方法中是这样animal=null;那就不行了。简单来将final修饰的是指这个变量不能被修改。
在没有重写Object的toString()等方法的情况下,toStirng()方法可以看得出
内存地址
。