A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 万能砖头 初级黑马   /  2014-12-4 20:41  /  1477 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在入学视频讲到饿汉式和懒汉式设计模式时,一句语句不理解!
private static Student s = new Student ()
private Student(){}
public static Student getStudent
{
  retern s;
}
关于 红色 字体的 Student 是什么意思  如果getStudent 是方法名的话 方法名前面不应是 返回值类型吗?
还是说没有返回值类型 Student 意思 方法名的一部分?

10 个回复

倒序浏览
返回学生类,因为是单例,要保证学生对象唯一,则对外产生方法获取这个唯一的对象,而这个学生对象的返回类型是Student。还有getStudent要加括号




package o_oriented;
/*
  饿汉式:
class Single {
     private Single(){}
     private static Single s = new Single();
     public static Single getInstance() {
           return s;
     }

    这个先初始化对象。
Single类一进内存,就已经创建好了对象。

注意:在开发时,用饿汉式。懒汉式在面试当中比较常见,通过结合多线程来解释。
*/

public class SingleDemo2 {
     public static void main(String[] args)
     {
           
     }
     
}
/*
懒汉式:
对象是方法被调用时,才初始化,也叫做对象的延时加载。
Single类进内存,对象还没有存在,只有调用了getInstance方法时,才建立对象。双重判断机制
*/
class Single {
     private Single(){}
     private static Single s = null;
     public static Single getInstance() {
            if( s == null)
           {
                 synchronized(Single .class)
                {
                      if( s == null)
                            s = new Single();
                }
           }
            return s ;
     }
}
回复 使用道具 举报
大大的心 发表于 2014-12-4 21:26
返回学生类,因为是单例,要保证学生对象唯一,则对外产生方法获取这个唯一的对象,而这个学生对象的返回类 ...

嗯嗯,明白了,看以前的视频中好像没有关于类作为返回值的知识点!
你说的很详细很明白了!非常感谢。
回复 使用道具 举报
Student s = new Student ()
类类型啊,类也是一种类型啊,属于引用类型
回复 使用道具 举报
妹纸你好,欢迎加入程序媛的大家庭
回复 使用道具 举报
返回类型是Student。数据类型分两种:基本数据类型和引用数据类型。基本数据类型有四类八种。引用数据类型包括数组,接口和类。这些类型都可以作为返回类型。所谓类型,不只是java提供的现成的类型,还包括自定义的类,你用的Student类就是自定义的类型,所以Student类也是可以作为返回类型的。
回复 使用道具 举报
曾勇 中级黑马 2014-12-9 18:54:02
7#
Student是返回值类型,getstudent是函数名,该方法是静态方法,用类名(点)函数名就可以调用。
回复 使用道具 举报
单例就是保持该类对象的唯一性,取的对象的类型是该类,所以Student是一个返回值类型
回复 使用道具 举报
每天都要看一看
回复 使用道具 举报
返回值类型就是Student类型,返回的是一个Student类型的对象
回复 使用道具 举报
首先你的getStudent后面少了大括号,其次Student,就是返回值类型,返回值类型也可以是类啊,不一定就只有int之类的。也不一定就是void
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马