共计 3534 个字符,预计需要花费 9 分钟才能阅读完成。
三大特色
1、封装性,把相干的数据封装成一个“类”组件
2、继承性,是子类主动共享父类属性和办法,这是类之间的一种关系
3、多态,加强软件的灵活性和重用性
类
1、Java 语言最根本单位就是类,相似于类型。
2、类是一类事物的形象。
3、能够了解为模板或者设计图纸。
对象
每个对象具备三个特点:对象的状态,对象的行为和对象的标识。
1、对象的状态用来形容对象的基本特征。
2、对象的行为用来形容对象的性能。
3、对象的标识是指对象在内存中都有一个惟一的地址用来和其余对象辨别开来。
4、类是一类事物的形象,对象是具体的实现。
用 new 关键字来创建对象,匿名对象一次只能干一个活。
类和对象的关系
1、属性 + 行为
2、通过类来形容事物,把事物的属性当做成员变量,把行为当做成员办法。
对象在内存中的存储
1、一般来讲局部变量存在栈中,办法执行结束内存就被开释,特点是先进后出。
2、对象 (new 进去的货色) 存在堆中,对象不再被应用时,内存才会被开释
3、每个堆内存的元素都有地址值
4、对象中的属性都是有默认值的
封装
概述
封装是指暗藏对象的属性和实现细节,仅仅对外提供公共的拜访形式。
益处:
1、进步安全性
2、进步重用性
是通过 private 关键字这个权限修饰符来实现的,用于润饰成员变量和成员函数,被私有化的成员只能在本类中拜访,想要批改或取得成员变量只能,通过对外提供公共的 get 和 set 办法来实现。想要调用成员函数只能通过创立一个对外提供公共的 show 办法,间接调用。
this 关键字
概念
this 代表本类对象的一个援用对象,相当于 this 在底层创立了一个本类对象。
this 能够调用本类的成员 (成员变量 / 办法)。
构造函数中,this()必须放在第一行。
当局部变量和成员变量同名时,基于就近准则,都是优先应用局部变量,那么要想应用成员变量就要通过 this 来实现。
继承
概念
继承是从已有的类中派生出新的类,新的类能排汇已有类的数据属性和行为,并能扩大新的能力。生存中比方儿子继承父亲的财产。
Java 继承是应用已存在的类的定义作为根底建设新类的技术,新类的定义能够减少新的数据或新的性能,也能够用父类的性能,但不能选择性地继承父类 / 超类 / 基类。
进步代码的复用性,缩短开发周期,升高开发费用。
特点
1、应用 extends 关键字实现继承关系。
2、相当于子类把父类的性能复制了一份。
3、java 只反对单继承,像是 is a 的关系,是一种强制的依赖关系,又叫强耦合。这种关系并不提倡。
4、继承能够传递(爷爷,儿子,孙子的关系)。
5、不能继承父类的公有成员和构造方法。
6、继承多用于性能的批改,子类能够领有父类的性能的同时,进行性能拓展和对父类性能的批改。
super 关键字
1、通过 super 关键字能够应用父类的内容
2、super 代表父类的一个援用对象
3、如果用,必须呈现在调用地位的第一行
4、子类和父类中没有同名资源的时候个别都是省略 super,相同则必须用 super 能力调用父类的内容
static
概念
1、是 java 中的一个关键字
2、用于润饰成员(成员变量和成员办法)
特点
1、能够润饰成员变量,成员办法
2、随着类的加载而加载,优先于对象加载
3、只加载一次,就会始终存在,不再开拓新空间
4、全局惟一,全局共享
5、能够间接被类名调用
6、动态只能调用动态,非动态能够随便调用
7、static 不能和 this 或者 super 共用,因为有 static 时可能还没有对象
final
概念
1、是 java 提供的一个关键字
2、final 是最终的意思
3、final 能够润饰类,办法,成员变量
特点
1、被 final 润饰的类,不能被继承
2、被 final 润饰的办法,不能被重写
3、被 final 润饰的变量是个常量,值不能被更改
4、常量的定义模式:final 数据类型 常量名 = 值
多态
概念
多态指同一个实体同时具备多种形式。
次要是指同一个对象,在不同时刻,代表的对象不一样,指的是对象的多种状态。
益处是能够把不同的子类对象都当作父类来看,能够屏蔽不同子类对象之间的差别,写出通用的代码,做出通用的编程,对立调用规范。
特点
1、多态的前提是继承
2、要有办法的重写
3、父类援用指向子类对象, 如:Animal a = new Dog(); — 小到大,向上转型
4、多态中,编译看右边,运行看左边
5、多态中如果想应用子类特有的办法,除了 new 子类对象这一个办法外,还能够应用向下造型,思路就和变量中,大转小要强转一样。
如:Animal a = new Dog();
Dog d=(Dog)a;
多态的益处
1、多态能够让咱们不必关怀某个对象到底是什么具体类型,就能够应用该对象的某些办法。
2、进步了程序的扩展性和可维护性
异样
概述
用来封装错误信息的对象。
组成构造:类型,提醒,行号。
异样的继承构造
Throwable – 顶级父类
— Error:零碎谬误,无奈修复
— Exception:可修复的谬误
–RunTimeException
–ClassCastException
–ClassNotFoundException
异样解决
程序中遇到了异样,通常有两种解决形式:捕捉或者向上抛出。
当调用了一个抛出异样的办法时,调用地位能够不做解决持续向上抛出也能够捕捉异样。
1、捕捉形式:
try{
须要捕捉的代码
}catch(异样类型 异样名){
解决计划}
捕捉异样的时候如果还有很多的异样要解决,然而又不晓得具体的异样类型,能够用 Exception。因为所有的异样都是 Exception 的子类。
2、抛出形式:
在会产生异样的办法上增加代码:throws 异样类型(能够抛多个异样,用, 号离开)
例如:public static void main(String[] args) throws Exception{}
抛出异样的时候如果还有很多的异样要解决,然而又不晓得具体的异样类型,能够用 Exception。因为所有的异样都是 Exception 的子类。
3、代码在执行时,如果出现异常,不论是把异样抛出还是捕捉异样,之后的代码都不会继续执行。这时咱们能够用关键字 finally 来让前面的代码继续执行,个别 finally 也是配合 try{}catch(){}来用的。
抽象类
概念
Java 中能够定义没有办法体的办法,该办法由其子类来具体的实现。该没有办法体的办法咱们称之为形象办法,含有形象办法的类咱们称之为抽象类。
抽象类能够了解为是一个只有办法申明没有办法体的非凡类。
特点
1、通过 java 关键字 abstract 实现
2、能够润饰办法或者类
3、抽象类中能够没有形象办法(由子类去实现),为了不让外界轻易 new 对象
4、如果类中有形象办法,那该类必须定义为一个抽象类
5、子类继承了抽象类当前,要么还是一个抽象类,要么就把所有形象办法都重写
6、多用于多态中
7、抽象类不能够被实例化
8、抽象类尽管不能被实例化,也就是不能被 new 对象,然而也是有构造方法的,目标是为了让子类 new 对象,子类在 new 对象时,触发的构造方法,办法体的第一行默认就有 super(); 就会调用父类的构造方法的
接口
概念
Java 外面因为不容许多重继承,所以如果要实现多个类的性能,则能够通过实现多个接口来实现。
Java 接口和 Java 抽象类代表的就是形象类型,就是咱们须要提出的形象层的具体表现。OOP 面向对象的编程,如果要进步程序的复用率,减少程序的可维护性,可扩展性,就必须是面向接口的编程,面向形象的编程,正确地应用接口、抽象类这些太有用的形象类型做为 java 构造档次上的顶层。
interface 接口名{代码…}
特点
1、接口中都是形象办法
2、通过 interface 关键字创立接口
3、通过 implements 让子类来实现,个别实现类的标准写法是在类名前面加 Impl。实现类如果不重写接口的所有形象办法,就是一个形象的实现类
4、能够了解成,接口是一个非凡的抽象类
5、接口冲破了 java 的单继承的局限性
6、接口和类之间能够多实现(逗号隔开),接口和接口之间能够多继承(逗号隔开)
7、接口是对外裸露的规定,是一套开发标准
8、接口进步了程序的性能扩大,升高了耦合性
9、接口里没有构造方法,没有变量
10、接口里常量和形象办法能够简写,底层会主动为简写模式拼接代码
11、接口里的资源默认都是 public 的
12、实现类里的构造方法,暗藏的 super(),在创建对象的时候调用的是 object 类的构造方法
13、接口里的一般办法能够用 default 来润饰(接口里能够有一般办法是在 JDK1.8 反对的)
断点模式 DeBug
用来在开发阶段跟踪和调试代码
步骤:
1. 设置断点: 须要看的代码的那行在最左侧鼠标双击
2. 激活断点模式: 点击工具类里的小虫子图标
3. 向下执行一行代码:ecplise 里是 f6
4. 完结断点模式:ecplise 里是 f8