A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

小小小小小智

初级黑马

  • 黑马币:30

  • 帖子:9

  • 精华:0

[报到] 技术贴

© 小小小小小智 初级黑马   /  2019-8-21 16:14  /  510 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.为了让平台对编程人员透明,写出可以在不同平台运行的相同源代码,Java 开发出了 JVM (Java 虚拟机)。

    Java是一门跨平台的语言,一次编译,到处运行。

2.Java是一门面对对象的编程,就是一种将实例抽象画的过程。

3.数据类型分为基本数据类型和引用数据类型(类类型),

   基本数据类型分为数值型,字符型,布尔型。

4.Java 在声明编程时候,必须准确定义变量的数据类型。

   变量的生命周期在{}定义的范围内才具有效应。

5.直接量是指在程序中直接通过源代码的方式指定的值,有时也成为字面量。

int a = 5; 这里的 5 就是一个直接量。

6. String 类是一个不可改变类,意思就是在String 对象被创建出来后就不能被改变了。

    当程序第一次使用某个字符串直接量时,Java 会使用常量池来缓存该字符串直接量。如果后面程序用到了这个字符串直接量,     Java 会直接引用常量池字符串。在常量池中不会存在两个一样的字符串字面量值。

7.流程控制分为顺序结构,判断结构,循环结构。

   判断结构又分为if结构,switch结构。、

   循环结构分为while结构,do-while结构,for循环。

8.控制循环结构

   break:在循环体中,使用 break 关键字跳出整个循环。   

   CONTINUE: 在循环体中,使用 CONTINUE 跳出本次循环,循环还会继续执行。

9.数组本身是引用数据类型(在栈内存中会存储其在堆内存中的引用地址)

10.静态初始化:显式的指定每个数组元素的值,由系统来决定数组的大小;

     只需要指定数组的长度,通过程序动态的给每个元素赋值。

11.使用 FOREACH 一般情况下,值用作遍历数据,如果要对数组中元素进行修改,还是需要使用 FOR 循环带索引的方式进行,因为在上述的代码中,A 只是循环元素的一个副本。

12.基本数据类型地址存于栈区,类型的存储是一种地址的传递(本质上也是一种数值的传递),最终指向于堆内存中的同一地址,所以数值改变!

13.类的三大部件:成员变量、方法、构造器。

14.构造器是一个特殊的方法,方法名就是类名,没有返回值(和 VOID 是有区别的),构造器是类创建对象的唯一途径。

     如果一个类没有显式的定义一个构造器,那么编译器会给这个类默认的定义一个没有参数的构造器;

     如果显式的定义了一个构造器,那么编译器就不会给类定义默认的空参数构造器。

15.STATIC 关键字

    用于修饰成员变量和方法,用 STATIC 修饰的成员变量后者方法是属于类的,而不属于该类的实例(对象)。通常把             STATIC 修饰的成员变量称为「类变量、静态变量」,方法称为「类方法、静态方法」。

16.出现在构造器中:引用该构造器正在初始化的对象;

     普通方法中:调用该方法的对象。

17.成员变量:在类中定义的变量,用 STATIC 修饰的为类变量,非 STATIC 修饰的为实例变量。

    局部变量按照定义的位置分为:

    在方法内部定义的变量;

    在代码块中定义的变量,比如有循环体内部、判断体内部;

    形式参数:在方法定义的参数列表中定义的变量。

18.局部变量中是不可以加入修饰符的;

    成员变量中的实例变量是对象被创建出来的时候初始化的,在对象没有引用的时候被销毁。、

19.成员变量中的实例变量描述人的年龄、性别、姓名这类;

    局部变量只在方法体内或者代码块中有效。

20.PRIVATE

    封装的目的:隐藏类方法实现的细节;限制对成员变量的不合理访问。

21.Getter 和 Setter

    把属性定义为 private 类型,即私有,向外部暴露其 get 和 set 方法。

    get 方法一般都是具有和属性数据类型一致的返回值,并且是没有形参的。

    set 方法一般都是具有和属性数据类型一致的方法参数,返回值一般是 void。

22.通过构造器为成员变量定义初始化值,这也是构造器的最最重要的用途之一。、

23.Java中是单继承,每个子类只有一个直接父类。

24.方法重写(Override)后子类的访问权限要比父类的访问权限要大或者相等。

25.在子类中调用父类被覆盖的方法,可以使用super关键字。

26.Java引用类型变量有两种类型:一种是编译时的类型,一种是运行时的类型。两者的不一致造成了多态!

27.强制类型转换是把大的类型(父类)转换为小(子类)的类型,只可能发生在子类和父类的关系中

28.重写:发生在父类和子类之间,方法签名必须是一样的
     重载:发生在本类中,方法名一样,但是参数列表不一样,重载可以是构造器的重载,也可以是方法的重载。

29.抽象类是无法实例化的,只能作为父类被继承使用;

     抽象类的构造器只能用于被实现的子类的构造器调用;

     abstract 是不能修饰成员变量的;、

30.抽象类作为多个子类的通用模板,子类在抽象的基础上进行扩充,子类必须要实现抽象类的抽象方法。

31. INTERFACE:接口

      接口支撑多继承,使用 EXTENDS 关键字;

      一个类是可以实现多个接口的,使用 IMPLEMENTS 关键字。

32.抽象类中可以定义普通方法,但是接口中都是抽象方法和静态变量;

    在抽象类是可以定义静态方法的,接口中不能定义静态方法的;

    在抽象中可以定义构造器的,但是在接口中是不存在构造器这个概念的;

    一个类最多只能有一个直接的父类或者抽象类,但是可以有多个接口的实现。

33.在集合框架中,主要分为 COLLECTION 和 MAP 两大接口。

    COLLECTION 中又分为 LIST (有序集合) 和 SET (无序集合)。LIST 和 SET 都是接口。

    MAP 存储的 KEY-VALUE 结构。

34.常见的异常

     NPE:NullPointerException 在调用对象属性或者方法的时候,对象其实是个 null,就会报此异常;

     java.lang.ArrayIndexOutOfBoundsException:数组越界

     java.lang.IndexOutOfBoundsException: Index: 1, Size: 1:集合越界

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马