Java中构造方法被别封装后的调用
类的封装性不只是体现在对属性的封装上,实际上的方法也是可以被封装的,当然,在方法的封装中也包含了对构造方法的封装。如下代码就是对构造方法进行了封装。
代码如下:
class TestClass
{
private TestClass()
{
System.out.println("构造方法被封装了!");
}
public void print()
{
System.out.println("类中的方法!");
}
}
public class TestDemo
{
TestClass tc=null;//可以声明对象
tc=new TestClass(); //无法实例化,因为构造方法被封装了,实例化方法就相当于调用了构造方法。 }
程序编译时会出现以下错误:
TestDemo.java:6: 错误: TestClass()可以在TestClass中访问private
tc=new TestClass();
那么怎么解决这个方法呢?
封装是指一切都外部不可见,也就是意味着在外部根本就无法被调用,既然外部不能调用,那在类内部呢?
实例代码如下:
class TestClass
{
TestClass tc=new TestClass();
private TestClass()
{
System.out.println("构造方法被封装了!");
}
public void print()
{
System.out.println("类中的方法!");
}
}
public class TestDemo
{
public static void main(String[] args)
{
System.out.println("你好!");
}
}
编译结果如下:
编译不出错,但是构造方法没有被调用,那要怎么样才能调用呢?
大家知道static关键字吧,被static修饰的方法就可以用类名来调用
代码如下:
class
TestClass
{
static TestClass tc=new TestClass();
private TestClass()
{
System.out.println("构造方法被封装了!");
}
public void print()
{
System.out.println("类中的方法!");
}
}
public class TestDemo
{
public static void main(String[] args)
{
TestClass tt=null;
tt=TestClass.tc;//把对象tc传递给了对象tt,也就是调用了构造方法, tt.print();
System.out.println("你好!");
}
}
相关文章
- 3面向对象的基本思想
- 笔试题及答案(二)
- JAVA复试问题答案
- 课程技能训练
- java基础笔试测试题及答案
- 数据库系统基础知识
- 进销存管理系统实训报告
- 汇编期末考习题(带答案!)
- DRP培训日志
1.面向对象是相对于面向过程而言的,面向过程是一种谓语与宾语的关系,面向对象的是主语与谓语的关系. 面向对象三大特征: 封装:对外部不可见,可以保护程序中的某些内容: 继承:扩展功能 多态:方法的重载,对象的多态性 类与对象的关系(最重要) ...
一. 选择题(共50题,每题2分,共100分.多选题选不全或选错都不得分.) 1. 以下属于面向对象的特征的是(C,D).(两项) A) 重载 B) 重写 C) 封装 D) 继承 2. 以下代码运行输出是(C) public class P ...
(一) JAVA复试的问题整理 1 Hibernate 的优化流程是如何实现的,流程是怎么样? 1. 尽量使用many-to-one ,避免使用单向one-to-many 象 2 Struts1与Struts2的区别? 在Action 实现 ...
信息网络开发工具技能训练 2013-2014第1学期 题 目: JSP的内置对象应用训练 院(系.部): 学 生 姓 名 指 导 教 师:: 2013年12月3日 (一) 对于JSP 的基本介绍 通过网络我了解到Java-EE 中应用的技术 ...
Java 一章 至 五章 考试 一. 填空题(8分) 1. 面向对象的三大原则是( 封装 ),( 继承 )和( 多态 ).2分 2. 如果想在对象实例化的同时就初始化成员属性,则使用( 构造函数 ).2分 3. ( 实体) 方法和( 构造 ...
第一章 数据库系统基础知识 第一节 数据库概述 一 数据 1. 定义:是一种物理符号序列,用来记录事物的情况. 2. 表示方法:用类型和值,不同的数据类型记录的事物性质是不一样的. 如:数值1,2,3...可以记录事物多少.年龄等. 二 信 ...
企业进销存管理系统实训报告 小组成员:成波.钟秀.马姝婷.邢亚可.龙浩 目 录 一. 系统分析 . ...................................................................... ...
一.单选题(每题2分). 1.( B )下面布尔变量定义中,正确并且规范的是: A) BOOLEAN b_f=false; B) boolean b_f=false; C) boolean B-F=false; D) boolean b_f ...
2008年12月24日(第一天),DRP业务流程 1. Web项目开发的一般流程 a) 需求确定 b) 需求分析 i. 架构分析和设计 ii. 业务逻辑分析和设计 iii. 界面设计 c) 开发环境搭建 d) 开发和测试 e) 文档编写 2 ...