----<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(1)的更多相关文章

  1. 黑马程序员—— Java SE(3)

    ----<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训 ...

  2. 黑马程序员—— Java SE(2)

    ----<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训 ...

  3. 【黑马18期Java毕业生】黑马程序员Java全套资料+视频+工具

        Java学习路线图引言:        黑马程序员:深知广大爱好Java的人学习是多么困难,没视频没资源,上网花钱还老被骗. 为此我们历时一个月整理这套Java学习路线图,不管你是不懂电脑的小 ...

  4. 黑马程序员Java基础班+就业班课程笔记全发布(持续更新)

    正在黑马学习,整理了一些课程知识点和比较重要的内容分享给大家,也是给自己拓宽一些视野,仅供大家交流学习,大家有什么更好的内容可以发给我 ,现有黑马教程2000G  QQ 1481135711 这是我总 ...

  5. 黑马程序员----java基础笔记中(毕向东)

    <p>------<a href="http://www.itheima.com" target="blank">Java培训.Andr ...

  6. 黑马程序员——JAVA基础之泛型和通配符

    ------- android培训.java培训.期待与您交流! ---------- 泛型:            JDK1.5版本以后出现新特性.用于解决安全问题,是一个类型安全机制. 泛型好处: ...

  7. 黑马程序员——JAVA基础之简述面向对象,类,变量,匿名对象

    ------- android培训.java培训.期待与您交流! ---------- 面向对象: 面向对象是相对面向过程而言 面向对象和面向过程都是一种思想 面向过程 强调的是功能行为 面向对象 将 ...

  8. 黑马程序员——JAVA基础之语法、命名规则

    ------- android培训.java培训.期待与您交流! ---------- 1.java语言组成:关键字,标识符,注释,常量和变量,运算符,语句,函数,数组. 2.java关键字:被Jav ...

  9. 黑马程序员——JAVA基础之File类,递归,打印流,合并切割流

    ------- android培训.java培训.期待与您交流! ---------- File类 用来将文件或者文件夹封装成对象 方便对文件与文件夹的属性信息进行操作. File对象可以作为参数传递 ...

随机推荐

  1. 重写OnPaint事件对窗体重绘 实例1

    public class WindowOne:Form { public WindowOne() { InitializeCompnent(); } public void InitializeCom ...

  2. (转)sql server 2008 不允许保存更改,您所做的更改要求删除并重新创建以下表 的解决办法

    启动SQL Server 2008 Management Studio 工具菜单----选项----Designers(设计器)----阻止保存要求重新创建表的更改  取消勾选即可.

  3. centos打开3306端口

    centos默认是关闭了3306端口的,外网通过3306端口不能访问数据库,这时需呀打开3306端口1.打开端口: /sbin/iptables -I INPUT -p tcp --dport 330 ...

  4. VPS,虚拟主机,云主机,独立服务器区别

    作者:张朝权链接:http://www.zhihu.com/question/25507629/answer/105594087来源:知乎著作权归作者所有,转载请联系作者获得授权.   独立服务器独立 ...

  5. C#传值

    C#若不加限制传值时自带的类型为值传递,自创的类型为引用传递 using System; using System.Collections.Generic; using System.Linq; us ...

  6. 在mac平台运行debug.exe

    最近准备学习操作系统,想先复习一下汇编语言.因为用的是mac,而看的汇编教材(<汇编语言>王爽)使用到DOS下的debug,在网上搜了一圈发现,mac 也可以模拟运行debug. 先到网上 ...

  7. zeromq源码分析笔记之线程间收发命令(2)

    在zeromq源码分析笔记之架构说到了zmq的整体架构,可以看到线程间通信包括两类,一类是用于收发命令,告知对象该调用什么方法去做什么事情,命令的结构由command_t结构体确定:另一类是socke ...

  8. QTableWidget简单操作

    使用Qt设计师工具,在窗体上添加Table Widget控件,这样就可以使用ui全局变量来调用该控件了. Table Widget控件的应用 (1)设置列数和行数 //设¦¨¨置?列¢D数ºy和¨ª行 ...

  9. LeetCode_Permutations

    Given a collection of numbers, return all possible permutations. For example, [1,2,3] have the follo ...

  10. 一颗 45nm CPU的制造过程

    沙子 :硅是地壳内第二丰富的元素,而脱氧后的沙子(尤其是石英)最多包含25%的硅元素,以二氧化硅(SiO2)的形式存在,这也是半导体制造产业的基础. 硅熔炼: 12英寸/300毫米晶圆级,下同.通过多 ...