封装
封: 封闭,隐藏, 安全性
装: 组装,合并: 整体性
程序中: 一定封装思维, 把零散的东西,组合起来, 形成一个整体
java的封装的实现: 对属性
属性私有化 属性访问修饰符: private(私有的, 可见范围: 本类可见)
提供公开的set/get方法, set方法: 给属性赋值的方法, 可写的 get方法: 获取属性的值, 可读的
规范: void setXxx(参数)
Xxx: 属性名, 要求属性名第一个字母大写
属性数据类型 getXxx()
包
package
把这个类分类, 使用不同的包区分, 包本质: 文件夹
包命名规范:
是公司域名反写:百度域名: www.baidu.com包名: com.baidu
包的分隔符: `.`
com.fs.部门名.项目名.模块名
包名不能使用关键字
继承
作用: 代码重用
通过领养宠物案例, 发现问题
Dog类与Penguin类有大量重复代码
优化: 重复代码不重复写
解决方案: 把相同属性, 方法, 抽取出来, 放到一个新的类
借助OOP第二大特征: 继承
类: 分为父类,子类
子类继承父类的属性, 方法, 不能继承父类构造方法
子类通过extends关键字, 指定继承的父类
继承使用步骤:
1. 把相同的属性,方法抽取出来,放在父类中, 子类特有的属性,方法不能放在父类
package com.fs.myExtends;
public class Pet {
private String name; //名字
private int health = 100; //健康值
private int love = 0; //亲密度
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getHealth() {
return health;
}
public void setHealth(int health) {
this.health = health;
}
public int getLove() {
return love;
}
public void setLove(int love) {
this.love = love;
}
public void showInfo(){
System.out.println("宠物自白:");
System.out.println("我的名字叫"+this.name
+",健康值是"+this.health+",和主人的亲密度是"+this.love);
}
}
2,把子类使用extends关键字, 继承父类
继承细节:
java中只支持单继承, 不支持多继承
一个类只能有一个父类,
但是java支持多层继承
java中祖先类: java.lang.Object类
一个类没有明确指定父类, 它间接继承java.lang.Object类
import
import导入
// 如果该类A使用另外一个类B, A与B不在同一个包,
// 使用import导入B类,语法:
import 包名.类名;
特殊情况: jvm虚拟机自动导入java.lang包下的所有类, 使用java.lang包下的类,不需要导入
同包下的类不需要使用import导入
import支持通配符: * 任意
import 包名.*; //导入该包下所有的类