java_对象和类

目录

  • 类和对象

面向对象是根据面向过程而来
           面向对象中也是包含面向过程

面向过程:       洗袜子

1.倒一盆水

2.把袜子扔进去

3.倒洗衣粉泡一泡

4.搓一搓晾起来

 

面向对象:  那个对象具备洗袜子这个功能来帮助我们完成

虐汪版: -->找一个对象(女朋友)         直接将袜子给你女朋友即可以完成

找一个洗衣机 --> 洗衣服(袜子)


类 ---->描述一个对象

类的主要作用就是用来描述对象使用,对象是类的实例化(具体实现)

世间万物皆对象

如何描述类:

         访问权限修饰符 class 类名{
                                   描述了
                             属性 --> 当前对象具备哪些特征
                             方法 --> 当前对象具备哪些功能 
                     }

对象的创建:

           类名 对象名 = new 类名(有参或者无参);

类的说明:

            1.一个文件中可以存在多个class,但是只能有一个class使用public修饰,而且这个类必须和文件同名

            2.一个文件中有多少个class(.java)就会生成多少个.class文件

            3.一个类中若存在main方法,那么这个类称为执行类

            4.类所创建来的对象是引用类型, 即new创建的都是开辟在堆空间 

            5.绝对不要使用 == 来判断两个对象是否相等 ,因为==是判断他们的地址,若需要判断两个对象是否相等 equals 判断对象的内容

            6.自定义类所创建对象不能直接使用equals, 源码中equals的实现就是 == 判断,需要重写 

            7.因为使用new关键都是创建在堆中的,这块空间的数据需要进行回收,而java提供一种机制---->GC垃圾回收机制,专门用来管理队中所创建的对象,如果发现某个对象没有引用了(即为NULL),GC会对当前对象进行回收。

构造方法:帮助创建对象的同时对类中所提供的属性进行初始化

构造方法定义:

              访问权限修饰符 类名(){
  
                         }  -->无参构造方法
                         访问权限修饰符 类名(参数){
   
                         }  --> 有参构造方法

 

问题:构造方法可以使用private修饰吗?

完全可以。

java中单例模式:

单例模式中一个类只有一个实例存在,避免实例对象的重复创建,不仅可以减少每次创建对象的时间开销,还可以节约内存空间;比如hibernate中的SessionFactory即是单例模式。

单例模式的实现<主要介绍两种>:

1.饿汉模式(线程不安全,不能延时加载)

public class Singleton{
    private static Singleton instance = new Singleton();
    private Singleton(){}
    public static Singleton newInstance(){
        return instance;
    }
}

2.懒汉模式(线程安全,可以延时加载)

public class Singleton{
    private static Singleton instance = null;
    private Singleton(){}
    public static Singleton newInstance(){
        if(null == instance){
            instance = new Singleton();
        }
        return instance;
    }
}

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胖砸5

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值