Java 第8天 面向对象(上)封装

面向对象开发,设计,特征
	面向对象开发
	就是不断的创建对象,使用对象,指挥对象做事情。
	面向对象设计
	其实就是在管理和维护对象之间的关系。
面向对象特征:

封装(encapsulation)

继承(inheritance)

多态(polymorphism)

一、类与对象关系

我们学习编程语言,就是为了模拟现实世界的事物,实现信息化。比如:去超市买东西的计费系统,去银行办业务的系统。
我们如何表示一个现实世界事物呢:
属性 就是该事物的描述信息
行为 就是该事物能够做什么
举例:学生事物
我们学习的Java语言最基本单位是类,所以,我们就应该把事物用一个类来体现。

二、类的定义

类:是一组相关的属性和行为的集合
对象:是该类事物的具体体现
举例:
类 学生
对象 班长就是一个对象

现实世界的事物
属性 人的身高,体重等
行为 人可以学习,吃饭等

Java中用class描述事物也是如此
成员变量 就是事物的属性
成员方法 就是事物的行为
定义类其实就是定义类的成员(成员变量和成员方法)

三、封装
1、封装的概念

将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问

封装的两个大致原则
把尽可能多的东西藏起来,对外提供便捷的接口
把所有的属性藏起来

1、private关键字:

是一个权限修饰符。
可以修饰成员(成员变量和成员方法)
被private修饰的成员只在本类中才能访问。

2、private最常见的应用:

把成员变量用private修饰
提供对应的getXxx()/setXxx()方法
一个标准的案例的使用

2、封装的好处:

1、便于使用者正确使用系统,防止错误修改属性
2、有助于系统之间的松耦合,提高系统独立性
3、提高软件的可重用性
4、降低了构建大型系统的风险

3、访问权限关键字

在这里插入图片描述

4、static关键字

可以修饰成员变量、成员方法、代码块
static关键字特点
随着类的加载而加载
优先于对象存在
被类的所有对象共享
这也是我们判断是否使用静态关键字的条件
可以通过类名调用
static关键字注意事项
在静态方法中是没有this关键字的
静态方法只能访问静态的成员变量和静态的成员方法

5、静态变量和成员变量的区别

所属不同
静态变量属于类,所以也称为为类变量
成员变量属于对象,所以也称为实例变量(对象变量)
内存中位置不同
静态变量存储于方法区的静态区
成员变量存储于堆内存
内存出现时间不同
静态变量随着类的加载而加载,随着类的消失而消失
成员变量随着对象的创建而存在,随着对象的消失而消失
调用不同
静态变量可以通过类名调用,也可以通过对象调用
成员变量只能通过对象名调用

6、代码块

在Java中,使用{}括起来的代码被称为代码块,根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块(多线程讲解)。

局部代码块 :

在方法中出现;限定变量生命周期,及早释放,提高内存利用率

构造代码块 :

在类中方法外出现;多个构造方法方法中相同的代码存放到一起,每次调用构造都执行,并且在构造方法前执行

静态代码块 :

备注:静态代码块预加载且只执行一次。

1、在类中方法外出现,并加上static修饰;用于给类进行初始化,在加载的时候就执行,并且值执行一次
2、静态代码块和非静态代码块只是多了一个static 关键字来修饰。
如:

在这里插入图片描述

非静态代码块:只有一对大括号:

在这里插入图片描述

四、构造器的认识。。

package iwork4;

public class PersonTest {
public static void main(String[] args) {
// 创建类的对象 : new +构造器
Person p =new Person();
p.eat();
p.study();
p.lss();
}
}
class Person{
String name;
int age;
// 构造器
public void person() {
System.out.println(“Person()…”);

}
//方法
public void eat() {
	System.out.println("人吃饭..");;
}

public void study() {
	System.out.println("人学习。。");
}
public void lss() {
	System.out.println("人需要每天上厕所。。。");
}

}
在这里插入图片描述

如果我的博客对你有帮助、如果你喜欢我的博客内容,请“点赞” “评论”“收藏”一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。

  • 18
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 27
    评论
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值