JAVA基础复习(二)

面向对象

1.封装

封装的步骤:
  1. 私有化要封装的属性
  2. 根据需求提供对应的get或者是set方法
封装的好处:
  1. 提高数据的安全性
  2. 操作简单
  3. 隐藏实现

封装一定会用的场景:如果是实体类的成员属性,我们在现实开发中全部封装起来

  • 例子
class Member{
	String name;
	private String sex;
	
	public void setSex(String sex) {
		if("男".equals(sex)|| "女".equals(sex)) {
			this.sex = sex;
		}
	} 
	
	public String getSex() {
		return sex;
	}
}
public class Demo3 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Member m = new Member();
		m.name = "a";
		m.setSex("男");
		System.out.println(m.getSex());
	}

}

2.代码块

  1. 构造代码块:给对象进行统一的初始化工作

  应用场景:如果创建任意对象的时候都需要调用某个方法为该对象进行初始化时,这时候就可以使用构造代码块

  1. 静态代码块:静态代码块是静态代码块所属的类被加载到内存的时候执行的

  静态代码块的应用场景:以后主要用于准备一个项目的初始化工作
    比如:从配置文件中读取数据库用户名与密码

3.继承的问题

  • Java是单继承的
  • 隐式继承:隐式继承的成员不能直接访问,要通过方法间接的进行访问。如下:t.setInfo(“aa”)不报错,表明this.name能够指向Worker的name成员
class Worker{
	private String name;
	public void setInfo(String name) {
		this.name = name;
		System.out.println("姓名:"+this.name);
	}
}

class Teacher extends Worker{
	
}

public class Demo5 {

	public static void main(String[] args) {
		Teacher t = new Teacher();
		t.setInfo("aa");

	}

}

4.内部类

匿名对象:没有引用类型变量指向的对象就称作为匿名对象

匿名内部类:没有类名的类就称作为匿名内部类

匿名内部类的使用前提:必须存在继承或者实现关系

因为匿名内部类没有类名,所以创建匿名内部类对象的时候就必须要借助与它父类的名字或者它父接口的名字来创建
但是匿名内部类只不过是没有类名,其他的一概成员都是具备的

匿名内部类的应用场景:主要是作为参数传递使用

  • 例子
interface Dao{
	public void add();
}

class Outer{
	public void print() {
		new Dao(){	//这里不是创建接口的对象,是创建了Dao实现类的对象,但是这个类是一个匿名内部类而已,没有类名因此接用了父接口的名字而已
			//大括号中就写匿名内部类的成员
			@Override
			public void add() {
				// TODO Auto-generated method stub
				System.out.println("添加学生。。");
			}
			
		}.add();
	}
}


public class Demo7 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Outer outer = new Outer();
		outer.print();
	}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值