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(1)

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

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

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

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

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

  4. Java SE(3)

    紧接着上一期内容,继续来复习一下java基础的知识点,主要来复习一下有关线程的内容吧! 1.向上转型:Animal a = new Cat();//自动类型提升,猫对象提升为动物类型,但是特有的功能无 ...

  5. Java SE(2)

    1.this的两种用法:(1)当成员变量和局部变量重名是,可以用关键字this来区分 .this代表对象,代表的是this所在函数所属对象的引用(哪个对象调用了this所在的函数,this就代表哪个对 ...

  6. 再回首,Java温故知新(一):Java概述

    Java发展历程 Java的发展要追溯到1991年,Patrick Naughton(帕特里克·诺顿)和James Gosling(詹姆斯·高斯林)带领Sun公司的工程师打算为有线电视转换盒之类的消费 ...

  7. Java集合(1)一 集合框架

    目录 Java集合(1)一 集合框架 Java集合(2)一 ArrayList 与 LinkList Java集合(3)一 红黑树.TreeMap与TreeSet(上) java集合(4)一 红黑树. ...

  8. 为什么你学不会递归?告别递归,谈谈我的一些经验 关于集合中一些常考的知识点总结 .net辗转java系列(一)视野 彻底理解cookie,session,token

    为什么你学不会递归?告别递归,谈谈我的一些经验   可能很多人在大一的时候,就已经接触了递归了,不过,我敢保证很多人初学者刚开始接触递归的时候,是一脸懵逼的,我当初也是,给我的感觉就是,递归太神奇了! ...

  9. Java设计模式(1)工厂模式(Factory模式)

    工厂模式定义:提供创建对象的接口. 为何使用工厂模式 工厂模式是我们最常用的模式了,著名的Jive论坛,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见. 为什么工厂模式是如此常用?因 ...

随机推荐

  1. NFS挂载error:reason given by server: Permission denied

    首先你得看看你的NFS服务有没有启动 然后你看看你要mount的文件夹有没有在NFS主机共享 然后再看权限对没对

  2. iOS开发系列-Block

    概述 在iOS 4.0之后,block横空出世,它本身封装了一段代码并将这段代码当做变量,通过block()的方式进行回调.这不免让我们想到在C函数中,我们可以定义一个指向函数的指针并且调用. #im ...

  3. 五分钟学GIS | 快速生成地图瓦片秘籍

    什么是地图瓦片? 地图瓦片是包含了一系列比例尺.一定地图范围内的地图切片文件.地图瓦片按照金字塔结构组织,每张瓦片都可通过级别.行列号唯一标记.在平移.缩放地图时,浏览器根据金字塔规则,计算出所需的瓦 ...

  4. python_django_类视图的第一次忐忑碰触!!!

    我们Django学到这里,基础知识阶段是已经完成了!! 在我们前面接触到的视图都是基于函数的视图函数我们可以称它为FBV,而今天我们新接触的就是视图函数的另一类CBV:基于类的视图函数,我们这里拓展这 ...

  5. ORM与JPA规范

    一.ORM框架 1.ORM简单介绍 对象关系映射,(Object Relational Mapping,简称ORM),是通过使用描述对象和数据库之间的映射的元数据,将面向对象语言程序中的对象自动持久化 ...

  6. springboot集成使用rabbitmq笔记(3.基本过程)

    使用rabbitmq笔记一 使用rabbitmq笔记二 使用rabbitmq笔记三 1.AMQP协议 AMQP 0-9-1的工作过程如下图:消息(message)被发布者(publisher)发送给交 ...

  7. Express post请求无法解析参数的原因

    router.post('/', function(req, res) { console.log(req.body); console.log(req.body.name); console.log ...

  8. Extjs各版本的下载链接,包含ext3.4源码示例

    最近在维护一个老平台,用的是ext3.4,老东西在网上找示例发现既然还有人收钱,谷歌了一下总算找到了一位免费的发布的,感谢 yipanbo 分享 Extjs的版本繁多,本文收集了Extjs各个版本的下 ...

  9. (转)OpenFire源码学习之十一:连接管理(下)

    转:http://blog.csdn.net/huwenfeng_2011/article/details/43416523 下面是下部分 C2S 1.当有客户端进行连接时根据Mina框架的模式首先调 ...

  10. Java的poi技术遍历Excel时进行空Cell,空row,判断

    /** * 导入信息 */ @Override public List<Object> add(HttpServletRequest request) { // TODO Auto-gen ...