7月20日Java基础:本人为新手正在学习Java中把每天学的东西晚上都会在博客记录希望大神可以指点 不足在此谢过。

本文介绍了面向对象编程的三大特性:封装、继承与多态。详细解释了单例类、抽象类与接口的概念及其应用场景,同时涵盖了如何实现这些设计原则的具体方法。

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

单例类

如果一个雷只能创建一个对象,称为单例类。须符合以下几个条件:

 1:把该类的构造器用private修饰,

2.提供一个public方法作为该类的访问点,用于创建该类的对象,且必须使用static修饰。

3该类必须缓存已经创建的对象,必须用static修饰。

抽象类有抽象方法:

抽象方法和类必须使用abstract来修饰,有抽象方法的类只能定义为抽象类,抽象类也可以没有抽象方法。

抽象类不能被实例化,可以通过其子类给他赋值,普通类有的抽象类里也有,定义抽象方法只需在普通方法上加abstract修饰符

并把普通的方法体全部去掉,并在方法后怎加分号即可。

抽象方法需要以abstract修饰

抽象类可以没有抽象方法。

抽象类一般是功能没有实现的类,需要子类实现、。

抽象类可以有构造方法,但是本身不能被实例化,抽象类的构造方法是给子类初始化常量的。

只要类中有一个抽象方法,那么此类必须要用abstract来修饰。

如果父类是抽象类,子类必须实现父类的抽象方法否则子类也需要声明抽象类

接口

用interface来修饰,接口可以继承多个父接口

 接口中的属性都是常量,方法都是抽象方法

接口中属性都是public,static,final修饰的

接口中方法默认都是public,abstract修饰的

接口没有构造器,不能籍由自身实例化,需要借助子类实例化。

abstract和static不能同时出现。

一、面向对象三大特征:封装、继承、多态 
二、封装:
1、封装两大特征:合理隐藏数据、合理暴露数据
2、把数据使用private修饰,可以通过定义一个public的方法把数据暴露出去
三、继承
1、java是单继承,但是可以间接继承,extends
2、在java中,任何类,除了Object,所有的类都有父类
3、子类可以继承父类的哪些属性和方法?
同一个包下:public、默认、protected
不同的包下:public、protected


访问:
同一个包下:public、默认、protected
不同的包下:public
4、重写/覆盖:override,继承关系中,子类的方法和父类的方法方法名相同,参数类型一致,返回类型相同,访问权限
子类不能比父类更严格:private > 默认 > protected > public @override
5、重载:在一个类中,方法名相同,参数类型不同,对返回值没有要求
6、构造方法是不能被继承,但是子类的构造方法一定会调用父类的构造方法(第一行)
如果子类没有显式调用父类构造方法,系统默认调用父类无参构造方法
如果父类没有无参的构造方法,子类必须显示调用父类有参的构造方法
7、super父类的,调用父类的属性-->super.属性名,调用父类的方法-->super.方法名(形参)
调用父类的无参构造方法-->super(),调用父类有参的构造器-->super(形参)
四、多态
1、向上转型:声明的时候是父类,实例化的时候是子类--> 父类类名 对象名 = new 子类的构造器
   向下转型:声明的时候是子类,实例化的时候是父类--> 子类类名 对象名 = new 父类的构造器,不安全
2、使用多态的时候,调用的属性和方法都是父类的,如果子类重写了方法,则方法调用的是子类的,不能调用
子类存在而父类不存在的属性和方法
3、instanceof: 对象名 of 类名 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值