java基础面向对象之封装


1:成员变量和局部变量(掌握)
(1)区别
A:位置不同
成员变量定义在类中,方法外。
局部变量定义在方法中。
B:生命周期
成员变量是随着对象的创建而存在,在堆内存,随着对象的消失而消失。
局部变量是随着方法的调用或者语句的执行而存在,在栈内存,随着方法的调用完毕或者语句执行完毕而消失。
C:初始化值
成员变量都有默认初始化值
局部变量没有默认初始化值,要想使用:必须是创建,赋值,使用。
2:匿名对象(理解)
(1)没有名字的对象
格式:new 类名()
(2)使用场景:
A:当方法只调用一次的时候。
Person p = new Person();
p.show();
//匿名使用
new Person().show();
B:当作为实际参数传递的时候。
public void method(Person p){}
//匿名使用
method(new Person());
(3)为什么要使用?(面试)
匿名对象使用完毕后,因为没有栈内存的指向,所以本身就是一个垃圾了。
可以在jvm空闲的时候,被垃圾回收机制回收。
3:封装(掌握)
(1)隐藏实现细节,提供公共的访问方式。
(2)好处:
使变化隔离
便于使用
提高复用性
提高安全性
举例:电脑机箱问题
(3)java中如何体现封装呢?
类,方法。
用private私有关键字体现。
A:是一个访问修饰关键字
B:可以修饰成员方法和成员变量
C:只能在本类中被访问
(4)代码体现:
class Student
{
//封装
private String name;
private int age;
//构造方法
public Student(){}
public Student(String name,int age)
{
//this关键字
this.name = name;
this.age = age;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setAge(int age)
{
this.age = age;
}
public int getAge()
{
return age;
}
}
4:构造方法(掌握)
(1)用于创建对象的方法。
(2)特点:
A:构造方法的名称和类名相同
B:不定义返回值类型
C:没有返回值
格式:
修饰符 类名(参数)
{
//code
}
(3)构造方法的特点:
A:如果一个类没有写构造方法,系统会默认给出一个无参构造方法。
B:如果一个类写了构造方法,系统都不会再给出默认构造方法。
这个时候,如果你想要使用无参构造方法,自己写。
推荐:任何一个非测试类,都给出无参构造方法。
C:构造方法还可以给成员变量赋值
public Student(String name,int age)
{
this.name = name;
this.age = age;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值