java基础this/static/单例


this(掌握)

(1)代表本类对象的一个引用。
特点:谁调用,this就代表谁。
(2)this的使用场景:
A:避免局部变量隐藏成员变量
public Student(String name,int age)
{
this.name = name;
this.age = age;
}
public void setName(String name)
{
this.name = name;
}
B:在方法内部有一个this对象,哪个对象调用,this代表谁。
举例:比较两个学生的年龄
C:this在构造方法中的使用
this(参数):表示调用构造方法,调用哪个根据参数决定。
注意:在构造方法的第一条语句使用。
6:代码块(了解)
(1)用{}括起来的代码,就叫代码块。
(2)代码块:
局部代码块:可以控制局部变量的生命周期。
构造代码块:每个构造方法调用前都会去调用。
1 :static(掌握)
(1)static:是一个关键字,可以用于修饰成员(成员变量和成员方法)
(2)特点:
A:随着类的加载而加载
B:优先于对象的存在而存在
C:可以直接使用类名访问
D:被所有的对象共享
(3)静态使用的注意事项:
A:静态只能访问静态成员,非静态可以访问静态也可以访问非静态成员。
B:静态方法中没有this,super关键字。
this,super是创建对象的时候才存在的,而静态是随着类的加载而加载。
C:主方法是静态的。(要求大家理解为什么主方法的格式是那个样子的)
(4)静态成员和非静态成员的区别:
A:静态成员是跟类相关的,也被称为类变量。可以被类名直接访问,也可以被对象访问。
建议使用类名访问。
非静态成员是跟对象相关的,所以,被称为成员变量,实例变量。被对象调用。
B:静态成员随着类的加载而加载,也就意味着随着类的消失而消失。生命周期长。
非静态成员是创建对象才存在的,随着对象的消失而消失。
C:静态成员存储在方法区中的静态区。
非静态成员存储在对象所属堆内存。
D:静态修饰的是类的所有对象的共享数据。
非静态修饰的是对象的特有数据。
(5)什么时候使用静态呢?
A:根据实际情况分析,如果是被所有对象共享的数据,就用静态修饰。
B:如果成员方法没有访问过对象的特有数据,这个方法就可以定义为静态的。
举例:喝水----饮水机(static)----水杯(特有的)
2:如何制作帮助文档(了解)
3: 单例设计模式(理解)
(1)单例设计模式:保证类在内存中只有一个对象。
(2)实现的思路:
A:外界不能创建对象
B:本类创建一个对象
C:提供公共的访问方式
(3)代码体现:(掌握)
A:饿汉式
class Student
{
private Student(){}
private static Student s = new Student();
public static Student getStudent()
{
return s;
}
}
B:懒汉式
class Student
{
private Student(){}
private static Student s = null;
public static Student getStudent()
{
if(s==null)
{
s = new Student();
}
return s;
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值