封装、权限修饰符、权限访问符、单例设计模式、方法的重写、抽象、final关键字、引用数据类型转换

本文介绍了Java编程中的封装概念,详细讲解了权限修饰符如private、default、protected和public的使用。探讨了单例模式的懒汉式和饿汉式实现,并解释了其内存效率优势。同时,文章阐述了方法重写的要求和抽象类的特性,以及final关键字的应用。还讨论了引用数据类型的向上和向下转型,强调了向下转型前必须先进行向上转型的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

子类的加载过程

父类–>子类–>初始化

封装

优点:把不想暴露的东西隐藏起来,或可通过提供相关方法进行访问

权限修饰符

private、default(缺省)、protected、public

权限访问符

不要把封装理解为private,不要误认为不能访问成员才是封装。实际上对成员访问权限的任何控制(包括public)都称为封装机制。

封装的常用设置:
  • 构造器和类的权限通常为public;

  • private权限最小,限制类外访问,一般把属性设为private,让其他类不能直接访问属性,达到保护属性的目的;

  • 不使用权限修饰符时(即default)的成员在类内以及在同一个包中的其他类可以访问;

  • protected所修饰的成员在类内、同一个包中、所在类的子类中都可以访问。

单例模式

​ 规则:

​ ①提供一个私有的无参构造器

​ ②提供一个静态的得到实例对象的方法

​ ③提供一个静态的类的声明

​ 优点:降低内存消耗

懒汉式
public class Person {
public static Person person;
private Person() {
	
}
public static Person getInstance() {
	if(person == null) {
		person = new Person();
	}
	return person;
}
}
饿汉式
public class Person_hungry {
	
	private static Person_hungry person = new Person_hungry();
	private Person_hungry() {
		
	}
	
	public static Person_hungry getInstance() {
		return person;
	}

}

方法的重写 (子类继承父类)

  • 相同的方法名

  • 相同的返回值类型

  • 相同的参数类型以及参数列表,参数顺序

  • 不小于父类的访问权限

抽象

  • 抽象类不能实例化

  • 当一个类继承抽象类时,必须实现其所有的方法,否则声明为抽象类

  • 抽象类不能使用Final修饰

  • 抽象类的成员:静态方法,静态成员,非静态资源,普通类中的成员抽象类都有

  • 抽象方法不能为static

  • 抽象类中可以全部为抽象方法

  • 抽象类中可以全部都不为抽象方法

final

修饰常量,赋值以后不能改变

修饰类,则类不可以被继承

引用数组类型转换

向上转型

Animal animal = new Person();

子类转为父类

  • 仅可以使用父类中的方法

向下转型

必须先向上转型才能向下转型

Person person = (Person) animal;

父类转为子类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值