封装、
封装的概念:
在类中,对于不想被本类以外的成员直接访问的内容对进行私有化,同时对外提供一个共有的方法为了访问私有的成员
私有化方式:用private将成员进行私有化修饰,然后除了本类以外的都不可以直接进行访问
实现封装的步骤:
1. 修改属性的可见性来限制对属性的访问(一般限制为private),例如:
public class Person {
private String name;
private int age;
这段代码中,将 name 和 age 属性设置为私有的,只能本类才能访问,其他类都访问不了,如此就对信息进行了隐藏。
封装的实例:
get和set的应用可采取系统自动生成的方式
get方法表示访问私有属性的方法:
语法:
public 属性类型 getXx(){
return 属性;
}
set方法表示修改私有属性的值的方法:
public void setXx(参数类型 参数){
this.xx = 参数;
}
2、对每个值属性提供对外的公共方法访问,也就是创建一对赋取值方法,用于对私有属性的访问,
public class Fengzhuang {
private int age;
private static String name;
public int getAge() {
return age;
}
public void setAge(int age) {//set进行封装
this.age = age;
}
public static String getName() {
return name;
}
public static void setName(String name) {
Fengzhuang.name = name;
}
public static void main(String[] args) {
Fengzhuang p=new Fengzhuang();
p.setAge(10);
Fengzhuang.setName("zhangseiuharng");
p.getAge();
Fengzhuang.getName();
System.out.println(p.getAge());
System.out.println(Fengzhuang.getName());
}
}
代码块、
- 什么是代码块:
代码块就是在类或者在方法中,直接使用"{}"括起来的一段代码,表示一块代码区域。
并且,在代码块里的变量属于局部变量,只在这一块代码区域内有效
-
代码块:单独存在的一对大括号中的代码称为代码块。代码块分为:静态代码块,动态代码块,局部代码块
-
局部代码块:定义在方法内部的代码块。
-
动态代码块:又称构造代码块,声明在类体中的代码块,创建对象时自动执行一次,每创建一个对象就执行一次动态代码块。
-
静态代码块:使用static关键字修饰的动态代码块,在类加载时自动执行,并只执行一次。
- 非静态方法的重写是java多态的一种表现,将子类赋给父类时,调用非静态方法会调用子类。其他都调用父类。
继承
- 定义:在原有的类的基础上,定义一个新的类,让新的类继承原有的一些非私有的成员,并且还可以添加自己的成员
- 父类的构造方法不可以被子类继承,但是会在子类的构造其中被调用
- 类的继承使用时运用extends实现两个类的继承:子类 extends 父类、
- 父类的出现是因为子类的共性抽取形成父类
package Jicheng;
//定义出员工类
//员工属性:成员变量,姓名
//成员方法:工作
public class Employee {
String name;
public void work() {
System.out.println("员工在工作");
}
}
class Develop extends Employee {// 定义研发员工,继承员工类
// 子类是Develop,子类会自动的拥有父类中非私有的属性和方法
// 子类中定义一个方法
public void print() {
System.out.println(name);
}
}
class Weihu extends Employee {
public void print() {
System.out.println(name);
}
}
class Test {
public static void main(String[] args) {
// 创建员工类的对象
Develop d = new Develop();
// 子类对象d调用父类中的成员变量和方法
d.name = "张三";
d.print();
d.work();
// 创建维护员工的对象
Weihu w = new Weihu();
w.name = "李四";
w.print();
w.work();
}
}
打印结果:
张三
员工在工作
李四
员工在工作
-
继承的好处
-
继承提高了代码的复用率,提高了开发的效率
-
继承的出现使类与类之间产生了关系,提供了多态的前提
- 继承的注意事项
- 继承中禁止出现多继承现象,只能有一个直接父类, 多继承会有安全问题
- java允许多层继承,但是不能多继承
- 多个类可以同时继承一个父类
- 继承后成员变量的变化
- 子类的对象调用成员变的时候,父子类都有就用子类的,
- 在子类中如果想调用父类成员用super.