封装、代码块、继承

封装、

封装的概念:

在类中,对于不想被本类以外的成员直接访问的内容对进行私有化,同时对外提供一个共有的方法为了访问私有的成员

私有化方式:用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());
	}
}

代码块、

  • 什么是代码块:

代码块就是在类或者在方法中,直接使用"{}"括起来的一段代码,表示一块代码区域。

并且,在代码块里的变量属于局部变量,只在这一块代码区域内有效

  1. 代码块:单独存在的一对大括号中的代码称为代码块。代码块分为:静态代码块,动态代码块,局部代码块

  2. 局部代码块:定义在方法内部的代码块。

  3. 动态代码块:又称构造代码块,声明在类体中的代码块,创建对象时自动执行一次,每创建一个对象就执行一次动态代码块。

  4. 静态代码块:使用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();
	}
}
打印结果:
张三
员工在工作
李四
员工在工作
  • 继承的好处

  1. 继承提高了代码的复用率,提高了开发的效率

  2. 继承的出现使类与类之间产生了关系,提供了多态的前提

  • 继承的注意事项
  1. 继承中禁止出现多继承现象,只能有一个直接父类, 多继承会有安全问题
  2. java允许多层继承,但是不能多继承
  3. 多个类可以同时继承一个父类
  • 继承后成员变量的变化
  1. 子类的对象调用成员变的时候,父子类都有就用子类的,
  2. 在子类中如果想调用父类成员用super.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值