Java语法与面向对象编程OOP

基本语法:大小写敏感、类名首字母大写、驼峰标识、方法名小写、源文件名与类名相同、程序由主函数main方法开始执行、
关键字:new创建对象、static静态、public、private、class、extend、finnal、implements、interface、break、continue、if、else、for、return、while、switch、assert、catch、finally、throw、throws、try、import、package、super、this、void、null、goto、8个基本类型

注释:单行、多行

:模板,描述一类对象的行为状态

对象:类的实例

方法:行为,类可以有很多方法

成员变量:类中定义的变量

局部变量:方法内的变量

构造方法:构造方法与类名相同,一个类可以有多个构造方法。有参、无参【默认】,如果存在有参构造方法,想创建无参对象,必须把无参的构造方法写出来。

java基本数据类型:byte(-128~+127、1字节、8位)、short(2字节、16位)、int(4字节、2的32次幂)、long(8字节2的64次幂、长整型)、float(4字节)、double(8字节、存储浮点数)、char(2字节、存储字节)、boolean(1字节、布尔型)
不精确的值:
float f = 0.1f;
double d = 0.2;

运算符:算术运算符(±*/%、++、–)、关系运算符(==、!=、>、<、>=、<=)、逻辑运算符(&&、||、!)、三目运算符(?:)
短路或||(第一个为真,不会执行第二个) 短路与&& (第一个为假,不会执行第二个)尽量用短路。

循环结构:while循环、do…while循环、for循环、增强for循环、break关键字、continue关键字

if语句:if…else语句、if…else if …else 语句、嵌套的if …else语句、switch case 语句

String类
创建:
连接:+、contact()
方法:equals、endWith()比较最后一位是否一致、replace()替换、split("")切片、subString()子串、trim()过滤前后空格
StringBuffer、StringBuilder与String的区别:
StringBuffer、StringBuilder:对字符串进行修改,不会重新创建对象;相对应的,String修改 需要创建新的对象。
本质:字符串实际上是字符数组,String定义字符数组时,被final修饰,数组属性不可以修改;而StringBuffer、StringBuilder的字符属性是没有被final修饰,所以字符数组属性可以修改,也就是直接对字符串修改,无需创建新的对象。
StringBuffer与StringBuilder的区别:
StringBuffer线程安全,大量并发的情况,会有性能缺陷
StringBuilder线程不安全,在单线程程序下,效率更快,不需要加锁,不具备多线程安全。

数组:声明数组变量、创建数组、Arrays类(equals数组比较、sort排序、fill()赋值)

继承
子类想修改父类的行为,可以子类实现父类的方法。
多重继承,不同类继承同一个类、一个类不能继承多个类
耦合度提高
继承关键字:extends、implements实现接口继承、super调用父类的方法或属性、this调用自身的属性或方法、final修饰的类不可以被继承
标准对于属性的操作:定义私有private属性,用get()、set()方法获取修改调用

接口的继承:同时可以继承多个接口、接口内的方法一定要在子类实现

重写、重载
重写:子类可以根据自己的需求,修改特定的逻辑,重写父类中任何现有方法,参数要与父类完全一致,访问类型必须是父类访问类型的子类,final、static方法不可以被重写
重载:不同的参数列表、修改返回类型【除了方法名之外,重载的方法之间是相对独立的】
方法的重写Overriding和重载Overloading是java多态性的不同表现,重写是父类与子类之间多态性的一种表现,重载可以理解成多态的具体表现形式【一个类的多态性表现】。

多态性:多态是同一个行为具有多个不同表现形式或形态的能力。–重写、重载
可扩展、可替换
多态实现的点:继承、
Dog ziDog = new ZiDog();
父类引用,创建子类对象,首先判断父类是否存在该方法,若没有报错,若有调用子类方法

抽象类
类中只要有一个方法是抽象的,这个类就一定要声明abstract。
子类继承抽象类,必须重写抽象类的方法,如果不想重写抽象方法,必须自己声明抽象类,由下一个继承者去实现抽象。
只要是抽象类都是不可以实例化对象的。
抽象方法不包含方法体。
static修饰的方法不可以声明抽象方法。

封装
在面向对象程式设计方法中,封装指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法
封装可以被认为是一个保护屏障,防止该类的代码和数据被外部定义的代码随机访问
要访问该类的代码和数据,必须通过严格的接口控制
封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。
适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性

接口:抽象方法的集合,没有方法体,用interface声明。继承接口必须实现接口的所有方法。接口无法被实例化。没有构造方法。
与类的区别:接口无法被实例化。没有构造方法。
与抽象类的区别:接口是抽象方法的集合;抽象类的属性可以是任意类型的;抽象类的方法可以是静态方法;一个类只可以继承一个抽象类,但可以实现多个接口。

在接口内定义一个变量,会被隐式转化成public static final String age = “1”;公开的静态的不可变的属性
接口1可以继承extends接口2 ,但是不可以在接口1实现接口2的方法,也就是不可以存在方法体。

包package
import关键字引入包

发布了21 篇原创文章 · 获赞 0 · 访问量 1075

猜你喜欢

转载自blog.csdn.net/LittleGirl_orBoy/article/details/105572440