`
lizhen6669
  • 浏览: 2412 次
  • 性别: Icon_minigender_2
  • 来自: 成都
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

java 语言基础总结

 
阅读更多

数据类型

1.  数据类型:基本数据类型(布尔和数值类型)和引用数据类型(类,接口和数组)。

2.  直接量:基本数据类型直接量、字符串直接量和null

3.  变量:变量名、数据类型、存储单元和变量值。

4.  在引用数据类型变量的存储单元内存放的变量值是引用,即指向实例的索引。

5.  基本数据类型值传递相当于传的是值,不会改变函数外面变量的值

6.  引用数据类型值传递相当于传的是地址,会直接改变函数外面变量的内容

 

数组

1.    定义:

int [ ] arrayOfInt = new int[100];

int [ ] arrayOfInt = {2, 3, 4};

new int [ ] = {2, 3, 4}; // 匿名数组,用于传递给方法。

2.    复制:

int [ ] arrayOfInt1 = arrayOfInt2; // arrayOfInt1 arrayOfInt2 两个变量引用相同的数组。

System.arrayCopy(from, fromIndex, to, toIndex, count); // 将一个数组里的值拷贝到另一个数组中。

3.    数组作为参数的使用:可以改变数组中元素的值

4.    注意:越界访问数组,编译时不会出错,但运行时会抛出异常

5.    声明一个数组变量并不创建一个数组对象或者为数组成分分配任何空间,它只创建变量自身,这个变量可以包含一个数组的引用。

垃圾回收机制

1.  Java没有机构方法,提供了一个类似的方法:protected void finalize()。

2.  Java程序可以不用处理内存的释放,而由Java系统自动进行处理。

3.  原理:不再被Java程序所用的内存是可以释放的,这些内存也称为垃圾。所以释放内存也称为垃圾回收。判断一个存储单元是否是垃圾的依据是该存储单元嗦对应的对象是否仍为程序所用。而判断一个对象是否为程序所用的依据是是否有引用指向该对象。这样,Java虚拟机就可以自动判断出并收集到“垃圾”,但一般不会立即释放它们的存储空间。Java系统自己定义了一套垃圾回收算法,用来提高垃圾回收的效率。所以Java系统不保证先申请的存储单元会先被释放。

4.  Java虚拟机另外提供了方法“System.gc()”来强制立即回收垃圾。

 

继承性

1.  子类的实例同时也是父类的实例,而父类的实例不是子类的实例

2.  子类实例的引用可以直接赋值给父类类型的引用变量,如:

J_SubClass a = new J_SubClass();

J_SuperClass b = a;

3.  如果父类类型的引用指向的实例是子类的实例,则该引用可以强制转换成子类的引用,如:

J_SubClass a = new J_SubClass();

J_SuperClass b= a;

J_SubClass t = (J_SubClass) b;

多态性

1.  静态多态性(overload):在编译时就可以被系统识别,指的是同一个类中同名方法在功能上的重载。相同方法名和不同参数列表(参数个数,参数数据类型个数,参数的数据类型的顺序),建议具有相似功能。(返回值可以不同吗?回答:仅仅返回值不同的话编译会报错。

2.  动态多态性(override):在编译时不能被系统识别,只有在运行时才能被系统识别。指的是子类方法对父类相同声明的方法的覆盖;覆盖方法的返回值必须和被覆盖方法的返回值类型一致;覆盖方法所抛出的异常必须和被覆盖方法所抛出的异常一致,或者是其子类;被覆盖的方法不能是private,否则在其子类中只是新定义了一个方法,并没有对其覆盖;覆盖的方法的访问权限必须比被覆盖方法更大。

 

封装性

1.  类的访问控制方式:公共模式(所有类访问)和默认模式(在同一个包内访问)。

2.  类的成员(域和方法)访问控制方式:公共模式(所有类),保护模式(同一个类,包,子类),默认模式(同一个类,同一个包),私有模式(同一个类)

 

抽象类和接口

1.  抽象方法不能含有方法体,而且必须在抽象类中

2.  抽象类不能实例化,但是可以含有非抽象的方法

3.  抽象方法不能同时被声明为privatestaticfinalnative或者synchronized

4.  Java不允许一个子类有多个直接父类,但允许一个类直接继承多个接口

5.  接口可以继承多个其他接口

6.  接口的修饰词包括:publicabstractstaticstrictfp

7.  接口中的所有成员域都具有publicstaticfinal的属性

8.  接口中的所用成员方法都具有publicabstract的属性

9.  抽象类(接口)的子类一定要覆盖抽象类(接口)中的所用抽象方法吗?回答:抽象方法必须在抽象类或接口中,如果抽象类的子类没有覆盖所有的抽象方法,那么它也是抽象类。

 

Staticfinalvolatile

1.  Static可以用来修饰类的成员域和成员方法

2.  静态成员属于类,可以直接用点运算符连接类名和成员名来调用

3.  静态方法只能调用静态方法和静态成员

4.  Final可以用来修饰类,类的成员域和成员方法

5.  Final修饰类时,该类不能派生出子类

6.  成员域具有final属性时,该成员域只能在定义时赋值,而且以后就不能膝盖该成员域的值了,如果定义时没有赋值,就必须在构造方法中赋值

7.  当类的成员方法具有final的属性时,其子类不能覆盖该成员方法

8.  域可以声明为volatile,在这种情况下线程每次访问该变量时都必须使它对该域的工作拷贝与住拷贝一致,而且代表一个线程的一个或多个异变变量的住拷贝上的操作由主存储器确切的按照线程要求的顺序进行。一个final域不能再声明为volatile

 

内部类

1.  创建内部类的实例:

外部类名.内部类名变量名 = 外部类的引用.new 内部类名(构造方法参数列表)

2.  内部类的成员域要具有静态属性,则它必须同时有final属性,而且其初始值必须是在编译时就能确定的常量

3.  匿名内部类:

 

Main 方法

public static void main(String args[])

 

1.  main方法没有声明为public,编译可以通过,但运行时会提示“Main method not public.

2.  main方法没有加static修饰词,编译可以通过,但运行时会抛出error "NoSuchMethodError"

 

3.  public static void 顺序可以变换

4.  没有写args 字符串数组,编译可以通过,但运行时会抛出error "NoSuchMethodError"

5.  没有从命令行输入任何参数,args数组为空,而不是null。即args.length == 0

 

 

构造方法

1.    构造方法没有返回值

2.    如果没有定义构造方法,系统会提供默认的构造方法,如果定义了,系统不会提供默认的构造方法。默认的构造方法没有参数,不提供操作。

3.    构造方法可以调用父类的构造方法(super()),也可以调用此类的另一构造方法(this()),这种调用必须由第一句来完成

4.    子类的任何一个构造方法(有参,无参,系统提供)都会先调用父类的默认构造方法(无参或系统提供)。因此父类要么不定义构造方法,要么必须显式定义一个无参构造方法。

分享到:
评论

相关推荐

    java基础知识总结

    Java 基础知识总结 Java 是一种广泛使用的编程语言,由 Sun 公司的 James Gosling 等人于 1991 年开始开发。Java 有三种技术架构:JavaEE、JavaSE 和 JavaME。JavaSE 是桌面应用程序的开发基础,JavaEE 是企业环境...

    java 基础知识总结(经典)

    这篇“Java基础知识总结(经典)”涵盖了Java开发中的核心概念和重要知识点,旨在为初学者和有经验的开发者提供一个全面的回顾。以下是主要的学习点: 1. **Java环境配置**:在开始编程之前,必须安装Java ...

    Java基础知识点总结.docx

    Java是一种广泛使用的面向对象的编程语言,其基础知识涵盖了多个方面,包括语法、面向对象特性、异常处理、多线程、I/O流、网络编程、反射技术、设计模式以及JVM等核心概念。以下是对这些知识点的详细说明: 一、...

    java基础知识总结(经典).pdf

    1. **关键字**:Java语言中具有特殊含义的单词,例如`if`、`else`、`public`等。 2. **标识符**:程序员自定义的名字,用于命名类、方法、变量等。标识符可以包含字母、数字、下划线(`_`)和美元符号(`$`),但不能以...

    java基础总结资料

    "java基础总结资料"涵盖了Java语言的核心概念,是学习和复习Java基础知识的重要资源。以下是一些主要的知识点: 1. **Java语法基础**:包括变量声明、数据类型(基本类型和引用类型)、运算符、流程控制(如if语句...

    Java 基础核心总结.pdf

    `import`语句用于引入特定包中的类,如`import java.util.*`导入整个`java.util`包。 4. **类和对象**:Java是一种面向对象的语言,类(class)是创建对象的蓝图。每个类可以包含属性(字段/field)和方法(函数/...

    java基础总结大全(笔记).pdf

    Java基础总结大全涵盖了Java编程语言的核心概念,从JVM、JRE和JDK的区别,到环境变量的设置,再到变量的定义和类型转换,深入浅出地讲解了Java的基础知识。 1. JVM、JRE和JDK: - JVM(Java Virtual Machine)是...

    java基础知识总结(经典)

    Java 基础知识总结是 Java 程序员不可或缺的一部分,本总结将涵盖 Java 的基础知识,包括 Java 概述、Java 语法基础、变量、数据类型、运算符、控制语句、方法、数组、继承、多态、接口、异常、IO 流等。 一、Java ...

    Java 基础核心总结_.zip

    这份"Java 基础核心总结_.zip"文件显然包含了学习Java编程所必需的重要知识点,旨在帮助初学者或开发者巩固基础。让我们逐一深入探讨这些主题: 1. **Java概述**:Java是一种跨平台、面向对象的编程语言,由Sun ...

    Java基础知识总结 (绝对经典)

    ### Java基础知识总结(绝对经典) #### 一、Java概述 - **起源与发展**:Java语言始于1991年Sun公司的James ...通过以上内容的学习和实践,能够帮助开发者建立扎实的Java基础,并有效地应用Java语言来解决实际问题。

    java基础总结大全

    【Java基础总结大全】 Java是世界上最流行的编程语言之一,其跨平台特性主要依赖于Java虚拟机(JVM)。JVM是Java的核心组成部分,它解析并执行编译后的Java字节码,确保Java程序可以在任何支持JVM的操作系统上运行...

    Java 基础核心总结 +经典算法大全.rar

    《Java 基础核心总结》 Java 概述 什么是 Java2 Java 的特点Java 开发环境 JDK JRE Java 开发环境配置 Java 基本语法 数据类型基础语法运算符 Java 执行控制流程条件语句 if 条件语句 if...else 条件语句if...else ...

    毕向东java基础总结(完整版)

    毕向东java基础总结(完整版) 本资源为毕向东老师的java基础总结,涵盖...try-catch语句是java语言中异常处理的基本结构。 本资源为java基础知识的总结,涵盖了java的基础知识点,是java初学者和开发者的必备知识。

    Java基础知识总结

    ### Java基础知识总结 #### Java 入门概述 Java 作为一种广泛应用的编程语言,自1995年由 Sun Microsystems 发布以来,迅速成为了软件开发领域的主流技术之一。Java 的诞生不仅推动了软件行业的进步,还引领了一...

    JAVA基础语法总结

    这篇总结将深入探讨Java的基础语法,帮助初学者理解并掌握Java编程的核心概念。 **1. Java程序结构** Java程序由类(Class)组成,每个类都包含方法(Method)。程序执行始于main方法。例如: ```java public class...

Global site tag (gtag.js) - Google Analytics