android-java,能在类里面声明自己?

问题描述

java,能在类里面声明自己?

书上看到一块代码

public class CoolWeatherDB {

....
private static CoolWeatherDB coolWeartherDB; //成员变量


```}

请问,为啥能在类中声明自己?一般什么情况会这样做?这是哪一块的知识点?

解决方案

构建单例对象的时候一般这样用,你可以看看对象创建之单例模式

解决方案二:

楼上正解。

这么声明完全是可以的啦。没有为什么。

单例模式是最常见的这样设计。

解决方案三:

创建java 时它(public class 类)本身就是一个类 ,主函数还必须写在它里边,它里面又能写方法,所以main要调用它的方法就必须创建它的对象

解决方案四:

可以的,这就是面对对象的好处

解决方案五:

单例模式经常用到的,这样当一直用到这个类事就不需要一直new出来了

解决方案六:

能啊,单例模式就是这样的。

解决方案七:

可以,看看经典单例模式

时间: 2024-12-21 07:00:11

android-java,能在类里面声明自己?的相关文章

为什么java中的类里面还能声明一个静态的自己

问题描述 为什么java中的类里面还能声明一个静态的自己 如题,感觉这种情况好诡异,能不能解释一下下面这段代码的流程呢?代码如下 public class CameraInterface { private static final String TAG = "yanzi"; private Camera mCamera; private Camera.Parameters mParams; private boolean isPreviewing = false; private f

Java类的声明和修饰词

*类的声明 [修饰符] class <类名> [extends 父类名] [implements 接口列表]{ } 修饰符:可选,用于指定访问权限,可用值为public,abstract和finnal. 类名:一般情况下,要求首字母要大写. extends 父类名:可选,用于指定要定义的类继承于哪个父类. implements 接口列表:用于指定该类实现的是那些接口. 一个类被声明为public,就表明该类可以被所有其他的类访问和引用,也就是说程序的其他部分可以创建这个类的对象,访问这个类内部

Java 不可变类的整洁之道

本文讲的是Java 不可变类的整洁之道, 当一个普通类 (class) 的实例不能被修改时,我们便称之为「不可变类」(immutable class).这样的类在实例化时便需要提供其所有的值,而在之后的运行中便绝不可更改.比如大家可能都知道的 Java 中已有的一些不可变类型,String (string 的字符串联很没效率,对吧), BigInteger, 和 BigDecimal_. 设计一个不可变类有如下的好处: 更简明的设计.实现.和使用 更不容易出错 更安全,因此可以轻松分享 线程安全

java中为什么有的变量声明而不赋值?

问题描述 java中为什么有的变量声明而不赋值? java中为什么有的变量声明而不赋值?而有的就值,那什么情况下要赋值,什么情况下不赋值 解决方案 比如对象变量,而调用这个变量的构造函数非常耗费时间,所以我们等用到的时候再创建,如果程序运行完都不访问它,就根本不创建,这样可以提高效率. 对于简单变量,比如int float一类的,建议随手给一个初始值. 解决方案二: 你这个问题给你举个例子,你应该就能理解了 例如: int a; 这是只声明不赋值,则只会在内存的栈区创建引用,堆中并无此引用的指向

Java的string类常量池及不可变性

1.String常量池     当使用new String("hello")时,JVM会先使用常量池来管理"hello"直接量,再调用String类的构造器来创建一个新的String对象,新创建的对象被保存在堆内存中.即new String("hello")一共产生了两个字符串对象. [常量池constant pool]管理在编译时被确定并保存在已编译的.class文件中的一些数据,包括关于类.方法.接口中的常量,和字符串常量.  [字符串常量池

Java中的类反射机制

一.反射的概念 :反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力.这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩.其中LEAD/LEAD++ .OpenC++ .MetaXa和OpenJava等就是基于反射机制的语言.最近,反射机制也被应用到了视窗系统.操作系统和文件系统中. 反射本身并不是一个新概念,它可能会使我们联想到光学中的反射概念,尽管计算机科学

Java Class文件详解 认识java的Class类

  Class 类是在Java语言中定义一个特定类的实现.一个类的定义包含成员变量,成员方法,还有这个类实现的接口,以及这个类的父类.Class类的对象用于表示当前运行的 Java 应用程序中的类和接口. 比如:每个数组均属于一个 Class 类对象,所有具有相同元素类型和维数的数组共享一个Class 对象.基本的 Java 类型(boolean, byte, char, short, int, long, float 和 double) 和 void 类型也可表示为 Class 对象. 一

android中只要View类及其子类有xml属性吗

问题描述 android中只要View类及其子类有xml属性吗 android中只要View类及其子类有xml属性吗,还有其他什么类有xml属性呢,它们的xml属性实际是它们的常量吗 解决方案 XML 在 Android 中用来布局控件的位置与属性,XML 做为标识语言也可以做其它用途的. 至于 Android 中是否有其它类也使用 XML 不太清楚,但至少也可以用的.XML 如果使用,做为变量是正常的.但为什么是常量呢? 解决方案二: 不知道理想表达的是什么意思,Android控件xml配置归

java基础问题,数组声明问题,突然卡住了?

问题描述 java基础问题,数组声明问题,突然卡住了? public class Test{ int[] a; //声明数组 //a = new int[10]; //这样引用数组是错的 public Test(){ a = new int[10]; //在构造函数里引用数组是对的 } public static void main(String[] args){ System.out.println(a.length); } } 这是什么原因 能不能详细解答一下 非常感谢!!! 解决方案 在一

stringbuffer-关于Java中FileInputStream类的一些新手疑问

问题描述 关于Java中FileInputStream类的一些新手疑问 在每次使用FileInputStream的read方法时,需要用到字节数组bytes和真实读取长度len,如代码: public static void read(){ File file = new File("D:/学习/Android/代码/Workplace/Java_8_1_File/a.txt"); try { //针对文件创建一个输入流 InputStream in = new FileInputSt