JAVA基础面向对象2

面向对象
三大特征:封装 继承 多态
封装:把一类事物的特征抽象为变量,把事物的行为抽象为方法,加以访问控制属性的限制称 为封装
封装的意义: 保护
[访问控制属性]class 类名{
//属性
修饰词 属性类型 属性名;
方法
修饰词 返回值类型 方法名(参数列表)[异常声明]{
方法体
}
构造方法:(实例化对象、构造对象时会根据参数来调用构造方法)
1.没有返回值类型 也不能是void
2.方法名和类型相同
3.子类构造的构造方法: 默认调用父类无参的构造方法 super();
4.显示调用父类中的构造方法 super(参数);–只能在第一行
}
JAVA语法规定:
一个 .java文件中只能有一个public的类,而且这个类和文件名相同
访问控制属性:
public 在任何地方都可能通过对象访问该类的属性或者方法
protected 只能在本类或者子类中访问 本包中也可以访问
默认[default] 在本包中可以访问
private 只能在本类中访问
类类型 引用变量 = new 类型名(参数列表);
左边是声明了引用变量 右边是实例化对象(在堆内存中分配内存)
局部变量:
1.定义在方法中
2.不会自动初始化(不初始化不能使用)
3.生命周期: 方法调用到方法结束
4.存储位置: 栈内存
成员变量(属性):
1.定义在类里面,方法外
2.对象实例化之后,自动初始化
byte int short long 0
boolean false
char ‘\u0000’
引用数据类型 null
3.生命周期: 对象实例化之后,对象回收之前
4.存储位置:堆内存
对象:当一个对象没有引用变量再引用时,该对象将无法再访问
JVM有一个独立的线程,当对象没有引用变量引用时,将回收该对象的内存
java的内存回收机制 垃圾回收机制
成员方法里面(构造方法):有一个隐含的this引用变量
this引用正在构造的对象或者调用该方法的对象
static:
1.static修饰属性(不能修饰局部变量):表示类属性 属于类,不属于对象
该类所有的对象都共享一份
可以直接通过 类名.属性名 直接进行访问
也可以通过对象进行访问
2.static修饰方法:表示(静态方法)类方法 属于类 不属于对象
静态方法中没有this引用变量
静态方法中不可以访问成员变量和调用成员方法
只能访问类属性和调用类方法
3.static修饰语句块
静态语句块
在类加载时执行,只会执行一次
加载图片、视频等资源
普通的语句块:在实例化对象时被调用 在构造方法之前先执行
final:
1.修饰变量或者属性 表示该变量和属性不能修改
2.final修饰属性 只能直接初始化 或者 在语句块、或者构造方法中初始化
只能选择其中之一
3.final修饰方法 表示该方法不能被子类重写
4.final修饰类 表示该类不能被继承
5.final和static同时修饰的属性 称为常量
只能直接初始化 或者 在静态语句块中进行初始化
如何表示一个唯一的类:
包.类名

导包: import 包名.*;
    import 包名.类名;
    Ctrl+Shift+o
package 包名;

继承:另一个类继承另外一个类,那么这个类称为子类或者派生类
被继承的类称为父类或者基类
子类拥有父类的属性和方法

 子类的构造方法:
  默认调用父类的无参构造方法
   super(参数);
   this(参数);

重写:
子类重写父类中同名的方法
1.子类重写父类的方法
2.方法名相同
3.参数列表相同
3.返回值类型:
基本数据类型必须一致
如果是引用数据类型 子类可以返回父类方法返回值类型的子类类型
4.子类重写的方法的访问控制属性不能比父类方法的访问属性更窄
public>protected>[default]>private
子类类型对象,可以用父类类型的引用变量引用
但是通过父类类型的引用变量只能访问父类中声明的属性和方法
如果子类重写父类中的方法,那么用父类类型的引用变量引用子类类型对象时,调用的是子类自己 的方法,这个现象称为多态
子类重写父类中的方法时,可以用 super.方法名(参数) 来调用父类中的方法
重载:
同一个作用域下,方法名相名,参数不相同即构成重载

子类的属性名可以和父类中的属性名相同,
为了以示区别:
在访问父类中声明的属性时加上 this.
多态:
  父类类型的引用变量引用子类对象时,调用的是子类重写的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值