java中一个类中没有公共的构造方法,则说明不能让外界去new对象。

简介: java中一个类中没有公共的构造方法,则说明不能让外界去new对象。  * java中一个类中没有公共的构造方法,则说明不能让外界去new对象。  *    有以下几种情况:  *    A:成员全部是静态的(如:Math类,Arrays数组工具类,Collections集合工具类)  *...

java中一个类中没有公共的构造方法,则说明不能让外界去new对象。

 
 

  * java中一个类中没有公共的构造方法,则说明不能让外界去new对象。
  *    有以下几种情况:
  *    A:成员全部是静态的(如:Math类,Arrays数组工具类,Collections集合工具类)
  *    B:单例设计模式(如:Runtime运行时类)
  *    C:类中有静态方法返回该类的对象(如:InetAddress)
  *     示例:
  *     class Demo {
  *        private Demo(){} // 有私有构造方法,没有公有构造方法
  *
  *       public static Demo getXxx() {
  *         return new Demo(); // 返回该类对象
  *       }
  *       }

注意:ToolKit抽象工具包类,有公共构造方法,但是该抽象类中也有静态方法返回该抽象类的子类对象。如下:
 *   Toolkit抽象类的方法:该类中有静态方法返回该抽象类的子类对象
 *     public static Toolkit getDefaultToolkit() 获取默认工具包,返回值是Toolkit类的子类对象
      // 获取工具包类对象
      Toolkit tk = Toolkit.getDefaultToolkit();
 示例代码如下:
1
package cn.itcast_01; 2 3 import java.net.InetAddress; 4 import java.net.UnknownHostException; 5 6 /* 7 * 8 * 看InetAddress类的成员方法: 9 * public static InetAddress getByName(String host) 根据主机名或者IP地址的字符串表示得到IP地址对象 10 */ 11 public class InetAddressDemo { 12 public static void main(String[] args) throws UnknownHostException { 13 // public static InetAddress getByName(String host) 14 // InetAddress address = InetAddress.getByName("DESKTOP-TEE3ASS"); 15 InetAddress address = InetAddress.getByName("192.168.1.102"); 16 17 // 通过IP地址对象获取:主机名、IP地址 18 // InetAddress类的成员方法:public String getHostName() 获取主机名 19 String name = address.getHostName(); 20 // InetAddress类的成员方法:public String getHostAddress() 获取IP地址 21 String ip = address.getHostAddress(); 22 System.out.println(name + "---" + ip); 23 } 24 }

 

我的GitHub地址: https://github.com/heizemingjun
我的博客园地址: http://www.cnblogs.com/chenmingjun
我的蚂蚁笔记博客地址: http://blog.leanote.com/chenmingjun
Copyright ©2018 黑泽明军
【转载文章务必保留出处和署名,谢谢!】
相关文章
|
1天前
|
Java
Java一分钟之-类与对象:面向对象编程入门
【5月更文挑战第8天】本文为Java面向对象编程的入门指南,介绍了类与对象的基础概念、常见问题及规避策略。文章通过代码示例展示了如何定义类,包括访问修饰符的适当使用、构造器的设计以及方法的封装。同时,讨论了对象创建与使用时可能遇到的内存泄漏、空指针异常和数据不一致等问题,并提供了相应的解决建议。学习OOP需注重理论与实践相结合,不断编写和优化代码。
14 1
|
2天前
|
Java 开发者
在Java中,接口和超类在多态性中扮演着重要的角色
Java中的接口和超类支持多态性,接口作为规范,允许多继承和回调机制;超类提供基类,实现代码重用和方法重写,两者共同促进代码的灵活性和可维护性。
24 10
|
2天前
|
Java
Java并发Futures和Callables类
Java程序`TestThread`演示了如何在多线程环境中使用`Futures`和`Callables`。它创建了一个单线程`ExecutorService`,然后提交两个`FactorialService`任务,分别计算10和20的阶乘。每个任务返回一个`Future`对象,通过`get`方法获取结果,该方法会阻塞直到计算完成。计算过程中模拟延迟以展示异步执行。最终,打印出10!和20!的结果。
|
7天前
|
SQL Java 数据库连接
15:MyBatis对象关系与映射结构-Java Spring
15:MyBatis对象关系与映射结构-Java Spring
27 4
|
7天前
|
网络协议 Java
Java中如何使用Socket类检测端口是否存在
Java中如何使用Socket类检测端口是否存在
24 4
|
7天前
|
存储 缓存 前端开发
Java串口通信技术探究3:RXTX库线程 优化系统性能的SerialPortEventListener类
Java串口通信技术探究3:RXTX库线程 优化系统性能的SerialPortEventListener类
25 3
|
7天前
|
存储 Java
Java的`java.io`包包含多种输入输出类
Java的`java.io`包包含多种输入输出类。此示例展示如何使用`FileInputStream`从`input.txt`读取数据。首先创建`FileInputStream`对象,接着分配一个`byte`数组存储流中的数据。通过`read()`方法读取数据,然后将字节数组转换为字符串打印。最后关闭输入流释放资源。`InputStream`是抽象类,此处使用其子类`FileInputStream`。其他子类如`ByteArrayInputStream`、`ObjectInputStream`和`BufferedInputStream`各有特定用途。
16 1
|
9天前
|
Java 开发者
Java中三种Set的实现类的用法和区别
Java中三种Set的实现类的用法和区别
|
Java 编译器
【Java】终于可以给自己new对象了——Java类和对象(三)
【☕Java】,千呼万唤始出来,终于可以给自己new对象了——Java类和对象
【Java】终于可以给自己new对象了——Java类和对象(三)
|
Java 数据安全/隐私保护
【Java】终于可以给自己new对象了——Java类和对象(二)
【☕Java】,千呼万唤始出来,终于可以给自己new对象了——Java类和对象
【Java】终于可以给自己new对象了——Java类和对象(二)