java构造方法的私有化】的更多相关文章

有的时候我们为了避免外界创建某类的实例,就将某类的构造方法私有化,即将它的构造方法用private修饰: 外界如何用到? 提供get方法!不提供的话外界就没法创建对象!(对反射无效) Eg:package reviewDemo; class Stu{ //将构造方法私有化 private Stu(){ } } public class Demo15 { public static void main(String[] args) { Stu s = new Stu(); } }…
Java 构造结构私有化 单例设计模式:(Singleton) 在一般情况下,一个类只有通过产生对象之后才可以操作这个类. class Singleton { public void print() { System.out.println("Hello,world!") ; } } public class TestDemo { public static void main(String [] args) { Singleton s = null ;  //声明对象 s = new…
Java构造方法 类有一个特殊的成员方法叫作构造方法,它的作用是创建对象并初始化成员变量.在创建对象时,会自动调用类的构造方法. 构造方法定义规则:Java 中的构造方法必须与该类具有相同的名字,并且没有方法的返回类型(包括没有void).另外,构造方法一般都应用 public 类型来说明,这样才能在程序任意的位置创建类的实例--对象. 示例:下面是一个 Rectangle 类的构造方法,它带有两个参数,分别表示矩形的长和宽: public class Rectangle { public Re…
Java 构造方法总结 ①方法名和 类名相同 ②在方法名的前面没有返回值类型的声明 ③在方法中不能使用return语句返回一个值 ④在创建对象时,要调用new,如:book b1=new book(); ⑤当没有指定构造方法时,系统会自动添加无参的构造方法 ⑥当有指定构造方法时,无论该构造方法是有参,还是无参,系统都不会再自动添加无参的构造方法 ⑦构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法…
Java的单例模式——饿汉式 package com.swift; //Java单例设计模式——恶汉式 public class SinglePerson { private String name="The God"; private int age=10000; private static SinglePerson person=new SinglePerson();//生成对象放在java静态池中,否则如果非静态在堆中,生命周期比类短 private SinglePerson(…
class MyTestClass { public int Value; public boolean equals(MyTestClass obj){ return obj.Value ==this.Value; } public MyTestClass(int initValue){ Value = initValue; } } 这是类的构造方法,或者构造函数:创建对象时,自动调用.与类名相同,没有返回值.若没有定义构造函数,Java编辑器会自动提供一个没有参数的构造函数:若定义一个构造函…
分为有参数和无参数,还有THIS的使用方法,可用于传递给类,也可用于调用其它构造方法. public class Book { private String name; public Book(){ this("this调用有参数的构造方法"); System.out.println("无参数的构造方法."); } public Book(String name){ System.out.println("有参数构造方法."); this.nam…
http://my.oschina.net/u/1464678/blog/210359 1.       类(class) 可见性修饰符: public—在所有类中可见,在其他包中可以用import导入.                              缺省—就是没有修饰符,在同一个包中的类中可见,在其他包中不能用import导入.               修饰符:final—终态类,表示该类不能被继承 abstract—抽象类,不能新建对象 2.       变量(variabl…
[Java笔试真题]:构造方法.成员变量初始化以及静态成员变量初始化三者的先后顺序是什么样的? [解答]:当类第一次被加载的时候,静态变量会首先初始化,接着编译器会把实例变量初始化为默认值,然后执行构造方法. Java程序的初始化一般遵循以下三个原则(以下三原则优先级依次递减): ① 静态对象(变量)优先于非静态对象(变量)初始化,其中,静态对象(变量)只初始化一次,而非静态对象(变量)可能会初始化多次: ② 父类优先于子类进行初始化: ③ 按照成员变量定义顺序进行初始化,即使变量定义散布于方法…
构造方法(构造器)    是一种特殊的方法,该方法只有功能:构造对象    特点:        1.没有返回值        2.构造方法的名称一定和类名一致        3.不能在构造方法中写return    java虚拟机会默认对每一个类提供空的构造方法,但是一旦自己提供了其他有参的构造方法,系统不会再提供无参构造方法    当提供了其他构造方法,一般会在类中提供无参构造方法    当你要创建对象时,先要看类的构造方法    在java中,"初始化"和"分离&quo…
前言 在编写程序时不安全的初始化会导致程序发生发生重大错误.为了使程序可以被安全地初始化,C++引入了构造器(也可以成为构造方法)的概念,这是一个在创建对象时被自动调用的特殊方法.Java中也采用了构造器,并且提供了"垃圾回收器".对于不在使用的内存资源,垃圾回收器能自动将其释放.本篇文章主要介绍Java的构造方法以及匿名对象. 构造方法的定义语法与调用时机 什么是匿名对象以及匿名对象的基本使用 构造方法的定义语法与调用时机 构造方法的定义语法: 构造方法是在创建对象时被编译器自动调用…
构造函数跟构造方法是一样的,只是称呼不同; C语言里叫函数,Java里叫方法. 成员方法必须有返回类型即使是没有返回,也要写上void 构造方法没有返回类型,而且和类名一样!一个类里面,一看就知道了譬如:public class Test{       //Test类public Test(){}            //构造方法Test 没有参数的构造方法  无参构造方法Test 名字跟类名一样public Test(int i)(){}   //构造方法Test  有一个整型参数publi…
先说明一点,这篇帖子的内容都是我自己思考的结果,如有误,请务必及时告诉我,非常感谢. 起由: public class NewThread implements Runnable{ Thread t; NewThread(){ t = new Thread(this, "Demo Thread"); System.out.println("Child thread: " + t); t.start(); // Start the thread } @Override…
Android NDK开发 JNI操作java普通.静态.构造方法 1.Jni实例化一个Java类的实例jobject 1.通过FindClas( ),获取Java类的的jclass 2.通过GetMethodID( ),获取java类的构造方法ID 3.通过NewObject( ),实例化java类并传递参数 2. 通过jobject访问Java类的普通方法 1.获取类名  如果传入的是jobject需要通过GetObjectClass(jobject)获取jclass 如果没有jobject…
1.在程序中,经常要对时间进行操作,但是并没有时间类型的数据.那么,我们可以自己实现一个时间类,来满足程序中的需要. 定义名为MyTime的类,其中应有三个整型成员:时(hour),分(minute),秒(second),为了保证数据的安全性,这三个成员变量应声明为私有. 为MyTime类定义构造方法,以方便创建对象时初始化成员变量. 再定义diaplay方法,用于将时间信息打印出来. 为MyTime类添加以下方法: addSecond(int sec) addMinute(int min) a…
一 看Think in Java,遇到个程序 class Egg2 { protected class Yolk { public Yolk() { System.out.println("Egg2.Yolk()"); } public void f() { System.out.println("Egg2.Yolk.f()"); } } private Yolk y = new Yolk(); public Egg2() { System.out.println(…
java中构造方法是作为除了成员方法之外的一种特殊方法,方法名与类名相同.一般类中如果没有明确定义构造方法时,编译器默认为无参构造方法.当我们调用new方法创建对象就是通过构造方法完成的.因此,当有对象被创建,就有构造方法被调用.构造方法的作用即为初始化对象.构造方法的基本特点如下: 1.没有返回值.且不能用void修饰. 2.名称与类一致. 构造方法可以是无参的,也可以是带参数的,为成员变量赋值. 子类与父类之间的构造方法: 我们知道调用一个类有两种方法,一是继承,二是组合(new):不管是哪…
构造方法前面是没有任何返回符,不能加任何返回类型,包括void.一个构造方法一旦加了void,那么这个就不是构造方法了,变成了一个普通的方法.至于你程序出现的情况,是这样的.任何一个Java类,如果你不自己定义构造方法,那么都有一个缺省的无参数的构造方法.但是当你定义了自己的构造方法,那么缺省的构造方法就没有了.当你不加void的时候,表示你定义了一个有两个参数的构造方法,first(int a,int b),而你在实例类的时候,却t=new first(); 但是找不到这个类的无参数构造方法,…
1)super(参数):调用基类中的某一个构造函数(应该为构造函数中的第一条语句) 2)this(参数):调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句) 3)super: 它引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时如:super.变量名 super.成员函数据名(实参) 4)this:它代表当前对象名(在程序中易产生二义性之处,应使用this来指明当前对象:如果函数的形参与类中的成员数据同名,这时需用this来…
手贱百度了一下 :java里面自定义类的有参构造方法为什么不用super() 举个例子: class Father { Father(){print ('father');}; } class Son { Son(){print ('son')}; } 如果只是这样,那么构造Son之前会在后台调用一下super()函数,调用过程你看不到,但是确实执行了,结果是先father后son但是这种时候你显示的写个super就没有意义了,那么他在什么时候用呢,再举个例子 给你举个例子 class Fath…
Java构造函数是特殊的方法(没有返回类型),使您可以在应用程序内部的其他类使用对象之前完全初始化对象状态.Java中的构造方法是使用new关键字调用的.下面让我们更深入地了解构造函数. 1.什么是java构造函数 构造函数是一种特殊的方法,类似于(没有确切的方法)构造,它可以帮助程序员在对象可被应用程序中的其他对象使用之前编写对象初始化代码.每当应用程序需要任何类的新实例时,JVM就会在堆内部分配一个内存区域.然后,JVM执行调用的构造函数(类可以具有多个构造函数)并初始化对象状态.在构造函数…
<Java基础复习>-类与对象&初始化 关于类和对象的基本理念,就不再赘述(如果你学习过还忘了,就是一种特殊的本领了),没有学习过的可以去搜索一下OOP或者类和对象,百科的知识就已经足够了,不必重复. 这里的讲解由浅入深,我会在分块前做好标注,区分初学者与复习者所需要了解的部分,有基础的可以不再看(基础部分)标注的部分 随着计算机革命的发展,"不安全"的编程方式已逐渐成为编程代价高昂的主要原因之一.--<Java编程思想> 这是一句揭示了Java为什么能…
构造方法 构建创造时用的方法,即就是对象创建时要执行的方法. //构造方法的格式: 修饰符 构造方法名(参数列表) { } 构造方法的体现: 构造方法没有返回值类型.也不需要写返回值.因为它是为构建对象的,对象创建完,方法就执行结束. 构造方法名称必须和类名保持一致. 构造方法没有具体的返回值. //构造方法的代码体现: class Person { // Person的成员属性age和name private int age; private String name; // Person的构造…
1.点    构造方法的作用以及定义要求    匿名对象的使用    构造方法:        只要出现()的都表示方法        构造方法就是类构造对象时调用的方法,主要用来实例化对象.>>>>    2.1构造方法        首先看一个格式:实例化对象操作.            ①类名称 ②对象名称 = ③new ④类名称():        每个组成部分的意义:            "①类名称":用于标记对象的类型,因为对象开辟空间后需要开辟堆…
public class TestDemo{ public static void main(String args[]){ Emp emp1 =new Emp(001,"tom","CEO",300000.0,5000.0); //实例化时调用构造方法,利用构造方法传递参数,避免使用setter方法传参 System.out.println(emp1.tell()) ;          //匿名对象代码实现如下 new Emp(001,"王强"…
我们实例化对象时,一般使用"类名 对象名 = new 类名()"来实例化,其实这样并不是十分严谨,只是编译器帮我们自动补全了一个空的构造方法,当实例化对象时,构造方法会被自动调用,所以我们应该是实例化的构造方法,那么构造方法是怎么定义的呢,方法如下: public class Hello { public Hello { //这就是一个构造方法,构造方法没有返回值,方法名与类名相同,参数可以有,也可以不用指定 } } 那么上面这个就是构造方法了,特点注释已经说明了,那么这个方法就是系统…
this:看上去,用来区分局部变量和成员变量的情况this:就是代表本类对象,this代表它所在方法所属对象的引用构造方法之间的调用只能通过this语句来完成构造方法之间进行调用时this语句只能出现在第一行,构造方法要先执行,如果初始化当中还有初始化,那就去执行更细节的初始化 class G{ private String name; private int age = 19; G(String name){ System.out.println(name); System.out.print…
SUPER可调用父类的构造方法,但要注意默认调用和参数调用. 同时,在继承类时,可以用SUPER调用其它非构造方法哟. class Test extends Object{ public Test(){ System.out.println("Test1 First thing"); } public Test(String welcome){ System.out.println("Test1 " + welcome); } protected void doSo…
demo 地址 http://pan.baidu.com/s/1bo2FG1T package com.ws.study; /** * @author Administrator * */ public class constructorA { /** * 构造函数 */ public constructorA(){ System.out.println("这是一个无参数构造函数"); } /** * 有参数的构造函数 * @param i * @param j */ public c…
package test; public class Person { String name; int age; public Person() { System.out.println("无参数构造方法"); } public Person(String name) { this(); this.name = name; System.out.println("姓名:"+name); } public Person(String n, int a) { this…