Abstract 抽象
可用来修饰方法和类;抽象方法,抽象类
抽象类不能用来实例化对象,不能创建对象。目的为了后来对这个抽象类进行扩充
语法:
abstract class 类名{}
抽象方法语法:无方法体
Abstract 返回值类型 方法名();
抽象类与普通类类似
区别:
- 抽象类不能实例化,不能创建对象
- 抽象类可有抽象方法
- Final 和abstract不能同时使用
抽象方法:是一种没有任何实现的方法,没有方法体,只能通过子类继承(重写)实现抽象方法。抽象方法不能被声明final 和static
抽象类的子类必须实现父类的所有抽象方法,除非子类是抽象类。
Java中的运算符
- 算数运算符
+ - * / % ++ --
%:取余数,不能被整除的数
++ 自增 在以前的基础上加1
-- 自减 在以前的基础上减1
A++A-- 后缀自增自减法:后进行自增自减的运算
表达式的值是以前的值:A
++A--A 后缀自增自减法:先进行自增自减的运算
表达式的值是自增自减后的值:A+1,A-1
2.关系运算符
==, != ,<,>,<=,>=
3.逻辑运算符
&& 且:两个条件都满足就为true,有中断效果;只要前面的条件不满足;中断不往后执行
|| 或: 只有有一个条件满足就为true
有中断效果;只要前面的条件不满足;中断不往后执行
! 非 :取反
& 且:两个条件都满足就为true,没有中断效果;所有条件都会执行
| 或:只有有一个条件满足就为true,没有中断效果;所有条件都执行
4.三元运算符
语法:
条件表达式? 结果是true,执行此代码: false,执行此代码
注意:运算符优先级,括号的优先级;执行顺序从左往右执行。
流程控制语句
顺序结构:代码从上往下,从左往右执行
循环结构,分支结构
循环结构:处理重复循环的功能。
主要有三种循环:
While 循环,do while,for循环(加强)
While循环的语法
语法:while(循环条件){循环内容};
条件表达式为true,执行循环。
Do..while循环
即使循环条件不成立,先执行一次。
For循环
语法:
For(初始化;条件表达式;变化量){循环内容}
加强for循环:主要用于集合,数组的for循环
语法:
For(声明变量:集合/数组){循环目标}
注意:声明的变量与集合数组类型匹配或者一致
关键字
Break:一般用于循环或者switch,跳出整个代码块
Continue:一般用于循环,跳出当前循环,执行下次循环。
- 分子结构
根据条件有选择性的判断执行代码块
两种分支结构:
If结构:范围性的分支
Switch结构:具体性的分支
If(条件表达式){
条件为true,执行此代码块
} else if(条件表达式){
条件为true,执行此代码块
}else{
所有条件为false,执行此代码块
}
Switch结构:具体值作为条件判断
Switch(条件表达式){
Case 1;
//代码语句
Break;
Case 2;
//代码语句
Break;
Defaule;
以上值都不满足,执行此语句
}
Switch 中的条件表达式类型必须是整数类型,char ,字符串
封装
封装是指一种抽象的接口的实现细节部分包装,隐藏起来的方法
封装被认为保护的屏障,加强类的安全性,防止类中的代码和数据被外部类随机访问到
封装的优点:
- 良好的封装可以减少耦合(联系),相对独立
- 类内部结构可以自由,独立的修改
- 队成员变量进行精准的控制
- 隐藏内部的信息和实现细节
封装的步骤:
- 修改属性的可见性,限制对属性的访问,一般只设置private
- 提供对每个属性对外的访问的公共方法,创建一对赋值和取值的方法,用于对于私有属性的访问
Private String userName;
Public void setUserName(String name){
userName =name;
}
Public String getUserName(String name){
Return userName;
}
工具创建封装方法:右键单击:Generate, getter and setter 选择要封装的属性点OK
JavaBean 编程规范,Bean:依赖关系,组件(零件)
- 必须在包中
- 有默认和有参构造方法
- 类中的属性必须封装。
Java继承
继承整个面向对象的基础。
继承就是子类继承父类的特点和非私有的属性和方法,子类就具有父类的特点和方法,子类也可有自己的特点和方法
继承语法:
Class 父类{}
Class 子类 extends 父类{}
继承的特点:
- 子类拥有父类的非private私有的属性,方法。
- 子类也有自己的属性和方法,子类对父类的扩展
- 子类可以实现父类的方法。
- Java中类的继承是单继承。每个子类只有一个父类
Java可多重继承,A继承B,B继承C,很多层级。
- 联系更多,类之间的耦合度变高
继承除了用extends关键字以外
继承关键字
Extends implements
Extends--类继承类 类A extends 类B
Implements--类继承(实现)接口 类A implements 接口 B
两个关键字都可以实现继承关系
所有的类都继承于java.lang.Object类,根类,祖先类
如果子类要调用父类的属性或者方法。通过super关键字
Super:超类,父类,上一级的
构造方法,也叫构造器
构造方法不能被继承,
作用给当前类的对象的属性赋初始值
可以通过super关键字调用父类构造器
//父类无参构造器
Super();
//父类有参构造器
Super(String name,int id);