码迷,mamicode.com
首页 > 编程语言 > 详细

黑马程序员 Java SE回顾

时间:2015-10-23 01:24:54      阅读:301      评论:0      收藏:0      [点我收藏+]

标签:

----<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

Java SE基础回顾 

1.循环语句中的break是终止全部循环,跳出循环体;而continue是终止本次循环,跳执行下一循环

2.return语句有两个作用:返回值;结束方法的运行

3.对于java中面向对象的理解:以类的方式组织代码,以对象的方式封装数据。类就相当于模板,而对象就是依据模板所创作出来的。

4.局部变量需要初始化才能用,而全局变量系统会自动为其初始化。类=属性+方法
5.java中内存分析:(1)栈:存放局部变量(自动分配连续空间,后劲先出) (2)堆:防止new出来的对象(不连续) (3)方法区:(也是堆)存放的是类的代码信息、Static变量、常量池(字符串常量)

6.java中对于对象的操作实际是对对象地址的操作

7.构造器有称构造方法,其名称必须与相应类名一致。构造器也可重载 。重载有两同三不同原则,即同一个类中,同一个方法名;参数列表(类型、个数、顺序)不同

只有形参的名称不同,不构成重载。返回值不同也不构成重载

8.static关键字修饰的方法为静态方法,调用静态方法不需要创建对象,只需要用类名.方法名即可调用该静态方法。在普通方法中可以调用静态的属性跟方法,但是在静态的方法中不能调用非静态的属性。this是指调用当前方法的对象

9.Java中类只有单继承,java中的多继承通过接口来实现的

10.类之间存在6种关系:继承、实现、依赖、关联、聚合、组成

11.继承:泛化父类维护共性,细化子类添加特性

12.动态绑定:在运行时,JVM能够根据对象的类型绑定具体的方法。

13.动态方法调度:如果一种编程语言,想实现动态绑定,就必须具备某种机制,以便能够判断对象的类型,从而调用恰当的方法,这种机制称为动态方法调度。动态方法调度是实现Java运行时多态的基础

14.equals()方法比较的是两个变量引用的对象的内容是否相同;"=="比较的是两个变量是否引用同一个对象,侧重于空间是否相同,即比较的是两个对象在内存中的地址

15.关于字符串内容:当通过字符串常量定义方式(即String s=“abcd”)定义String类型变量时,系统会首先从字符串池(JVM维护着一个字符串缓冲区,叫做字符串池 )中查找相同的String对象,如果查到则使变量指向池中已有的对象,否则新建对象并放入池中。因此通过字符串常量方式定义的String变量,如果内容相同,则必然指向同一个对象。即String s=“abcd ”; String m="abcd";则二者指向同一个对象,但是如果用new String(“abcd”)方式定义的String对象,不会放入池中,每次都会重新构造新的对象。

16.抽象类:只定义类的“骨架”,对其共同行为提供规范,但是并不实现,而是将具体实现放到子类中去完成。这种“骨架类”叫做抽象类,用abstract关键字修饰

17.抽象类的3个特点:(1)抽象方法没有方法体,即未实现(abstract放在class前,一个抽象类可以含有多个抽象方法,也可以含有已经实现的方法)

(2)不能实例化抽象类,即不能为抽象类分配具体的空间  (3)一个类在继承抽象类时,如果没有实现父类所有的抽象方法,那么该类也必须定义为抽象类。

18.接口:引入接口,是为了解决类之间单一继承的缺陷。接口是抽象类的进一步强化,没有方法体,不能直接实例化。对接口的引用相当于接口这个父类去调用子类的方法,即父类引用指向子类对象。一个类可以实现多个接口,从而弥补java单一继承的缺陷。一个类实现接口时,必修实现该接口的定义的所有方法,除非该类定义为抽象类。

19.内部类有:成员内部类、局部内部类、静态内部类、匿名内部类

20.java中的异常分为:java.lang.error与java.lang.Exception 

异常是指程序在运行期间可能出现的错误。异常分为非检查型异常(RuntimeException及其子类)、检查型异常

21.异常处理机制:(1)捕获异常  (2)声明抛出异常

22.安排catch语句的顺序时,首先应该捕获最特殊的异常,然后在一般化,即先catch子类,然后在catch父类。先后顺序不符,会发生错误  

不管有无异常发生,必须执行的代码finally关键字修饰,且finally不能单独使用,必须和try结合使用。try-finally、try-catch-finally

23.throw语句是编写在方法中,而throws语句使用在方法签名之后。同一方法中,throws抛出的类型范围比throw抛出的对象类型范围大或者相同

24.泛型:是为了解决强制类型转换时,在编译时编译器可能不提示错误,但在运行时会出现异常,这一安全隐患。

25.使用泛型的好处:(1)在编译期间检查类型,捕捉类型不匹配错误 (2)所有的强制转换都是自动和隐式的,提高代码重用率。

26.泛型的本质:是参数化类型,即所操作的数据类型被指定为一个参数,可以用在类、接口、方法的创建中。

27.数组容器(遇到容器必须重点学)

 格式1 int[] array = new int[3];//需要一个容器,但是不明确容器的具体数据

 格式2 int[] array = new int[]{0,1,3,5,89};//初始化容器,存储已知的数据 或 int[] array = {89,20,2,45,9};

对于数组的操作最基本的就是存、取。核心思想是:对角标的操作,数组中最后一个数的角标为array.length-1

28.面向对象:先找问题的对象,如果没有就去创造它。有对象找对象,没对象造对象,紧接着维护对象之间的关系。类与对象之间的关系:类是事物的描述。对象:该类的实例,在java中通过new来实现。堆中封装数据,对象也是为了封装数据。当调用方法时,方法要进栈,这时如果方法中定义了局部变量,如a=10;在堆中也定义了a=4;这时会优先选栈中的局部变量;如果栈中没有a=10,则去堆中调用a=4。

29.当对象对方法仅进行一次调用时,就可以简化成匿名对象

30.封装:Encapsulation隐藏对象的属性和实现细节,仅对外提供公共访问方式。私有的private的东西只能在本类中有效。在方法中对给定的数据进行逻辑判(封装的作用)

31.构造函数:构建对象时调用的函数 ,作用:可以给对象进行初始化 。创建对象都必须要通过构造函数初始化

32.一般函数与构造函数的区别:构造函数:对象创建时就会调用与之相应的构造函数,对对象进行初始化。会调用,且只调用一次(仅对于一个对象来说)

一般函数:对象创建后,需要函数功能时才调用。对象创建后,可以被调用多次。

33.什么时候定义构造函数:在描述事物时,该事物一存在就具备的一些内容,这些内容就都定义在构造函数中。

一个类中可以有多个构造函数,分别对不同的对象进行不同的初始化。多个构造函数在同一个类中出现,只有一种方式——重载

 

黑马程序员 Java SE回顾

标签:

原文地址:http://www.cnblogs.com/pingfan21/p/4903193.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!