`

温故知新—JAVA基础知识总结

    博客分类:
  • java
阅读更多

1、对象的初始化

  (1)非静态对象的初始化

  在创建对象时,对象所在类的所有数据成员会首先进行初始化。

  基本类型:int型,初始化为0。

  如果为对象:这些对象会按顺序初始化。

  ※在所有类成员初始化完成之后,才调用本类的构造方法创建对象。

  构造方法的作用就是初始化。

  (2)静态对象的初始化

  程序中主类的静态变量会在main方法执行前初始化。

  不仅第一次创建对象时,类中的所有静态变量都初始化,并且第一次访问某类(注意此时未创建此类对象)的静态对象时,所有的静态变量也要按它们在类中的顺序初始化。

2、继承时,对象的初始化过程

  (1)主类的超类由高到低按顺序初始化静态成员,无论静态成员是否为private。

  (2)主类静态成员的初始化。

  (3)主类的超类由高到低进行默认构造方法的调用。注意,在调用每一个超类的默认构造方法前,先进行对此超类进行非静态对象的初始化。

  (4)主类非静态成员的初始化。

  (5)调用主类的构造方法。

3、关于构造方法

  (1)类可以没有构造方法,但如果有多个构造方法,就应该要有默认的构造方法,否则在继承此类时,需要在子类中显式调用父类的某一个非默认的构造方法了。

  (2)在一个构造方法中,只能调用一次其他的构造方法,并且调用构造方法的语句必须是第一条语句。

4、有关public、private和protected

  (1)无public修饰的类,可以被其他类访问的条件是:a.两个类在同一文件中,b.两个类在同一文件夹中,c.两个类在同一软件包中。

  (2)protected:继承类和同一软件包的类可访问。

  (3)如果构造方法为private,那么在其他类中不能创建该类的对象。

5、抽象类

  (1)抽象类不能创建对象。

  (2)如果一个类中一个方法为抽象方法,则这个类必须为abstract抽象类。

  (3)继承抽象类的类在类中必须实现抽象类中的抽象方法。

  (4)抽象类中可以有抽象方法,也可有非抽象方法。抽象方法不能为private。

  (5)间接继承抽象类的类可以不给出抽象方法的定义。

6、final关键字

  (1)一个对象是常量,不代表不能转变对象的成员,仍可以其成员进行操作。

  (2)常量在使用前必须赋值,但除了在声明的同时初始化外,就只能在构造方法中初始化。

  (3)final修饰的方法不能被重置(在子类中不能出现同名方法)。

  (4)如果声明一个类为final,则所有的方法均为final,无论其是否被final修饰,但数据成员可为final也可不是。

7、接口interface(用implements来实现接口)

  (1)接口中的所有数据均为static和final即静态常量。尽管可以不用这两个关键字修饰,但必须给常量赋初值。

  (2)接口中的方法均为public,在实现接口类中,实现方法必须可public关键字。

  (3)如果使用public来修饰接口,则接口必须与文件名相同。

8、多重继承

  (1)一个类继承了一个类和接口,那么必须将类写在前面,接口写在后面,接口之间用逗号分隔。

  (2)接口之间可多重继承,注意使用关键字extends。

  (3)一个类虽只实现了一个接口,但不仅要实现这个接口的所有方法,还要实现这个接口继承的接口的方法,接口中的所有方法均须在类中实现。

9、接口的嵌入

  (1)接口嵌入类中,可以使用private修饰。此时,接口只能在所在的类中实现,其他类不能访问。

  (2)嵌入接口中的接口一定要为public。

10、类的嵌入

  

(1)类可以嵌入另一个类中,但不能嵌入接口中。
(2)在静态方法或其他方法中,不能直接创建内部类对象,需通过手段来取得。

手段有两种:

 

class A {  class B {}  B getB() {  B b = new B();  return b;  }  } 

static void m() {  A a = new A();  A.B ab = a.getB(); // 或者是 A.B ab = a.new B();  } 

(3)一个类继承了另一个类的内部类,因为超类是内部类,而内部类的构造方法不能自动被调用,这样就需要在子类的构造方法中明确的调用超类的构造方法。接上例:

 

class C extends A.B {  C() {  new A().super(); // 这一句就实现了对内部类构造方法的调用。  }  } 

构造方法也可这样写:

 

C(A a) {  a.super();  } // 使用这个构造方法创建对象,要写成C c = new C(a); a是A的对象。

 

 

11、异常类JAVA中除了RunTimeException类,其他异常均须捕获或抛出

 

 

分享到:
评论
1 楼 je_小彬 2009-07-31  
不错,谢谢

相关推荐

    java基础知识总结(超级经典)

    总之,这份"超级经典"的Java基础知识总结提供了全面的学习路径,不仅适合初学者入门,也对有经验的开发者温故知新、提升技能有所帮助。结合"fastrcnn改进点.docx",读者还能了解如何将Java应用于机器学习领域,拓宽...

    温故知新,通过学习尚学堂飞机游戏项目,理解Java语言基础知识.zip

    在本项目"温故知新,通过学习尚学堂飞机游戏项目,理解Java...通过实际操作和分析这个游戏项目,学习者不仅能巩固Java基础知识,还能了解到游戏开发的一些通用技巧和实践经验。这是一个极好的学习资源,值得深入研究。

    java基础知识30个经典问答

    这篇博客"java基础知识30个经典问答"通过问答形式,详细解答了Java学习中常见的问题,帮助初学者巩固基础,同时也适合有经验的开发者温故知新。下面,我们将深入探讨这些问答中的关键知识点。 1. **什么是Java?** ...

    Java核心技术 卷1 基础知识 原书第10版

    通过阅读《Java核心技术 卷1 基础知识》原书第10版,初学者可以系统地学习Java编程,而经验丰富的开发者也可以从中温故知新,加深对Java语言的理解。这本书的PDF电子书版本提供了高清的阅读体验,并带有索引书签目录...

    java基础项目(35个java游戏)javalearnsa资料分享

    在这个“java基础项目(35个java游戏)”中,我们可以深入理解Java的基础知识,并通过实际的游戏开发项目来提升编程技能。这个资料分享是针对那些想要在Java编程领域打下坚实基础的学习者,特别是对游戏开发感兴趣的...

    java学习笔记,前人总结出来的精华之作(2)

    总的来说,这份“前人总结出来的精华之作”不仅涵盖了Java语言的基础,还深入到高级主题,包括算法和数据结构的应用,这些都是提升编程能力的关键。对于初学者来说,通过这些笔记系统地学习和实践,能够迅速提升编程...

    java学习成套ppt

    接着是"02Javabase.pdf",这可能是关于Java基础的进一步深入,可能涵盖类、对象、封装、继承、多态等面向对象编程的基本概念,还有异常处理、接口、包的使用等。 "03Arrays.pdf"则专注于Java中的数组,包括一维和...

    java基础课程教学ppt

    【Java基础课程教学PPT】是一系列深入浅出讲解Java编程语言的教学材料,由一位深受学生喜爱的讲师精心编排。这些PPT涵盖了面向对象编程(OOP)的核心概念,旨在帮助初学者建立坚实的基础,同时也适合有经验的开发者...

    Java实验指导书 2009

    - 复习上一节所学的Java基础知识。 - 重点复习数据类型和运算符的使用方法。 **机器狂人:** - 使用IDEA或Eclipse等集成开发环境创建新的Java项目。 - 设置项目的基本配置,如编码格式、构建路径等。 **高手之路:...

    Java编程复习代码

    在本资源"Java编程复习代码"中,作者...对于Java基础不牢固的学生,这是一个很好的温故知新的机会,可以帮助他们巩固理论知识,提升编程能力。同时,通过阅读作者的笔记,可以学习到编程思维和经验,有助于自我提升。

    经典的java小程序源代码合集

    这些程序是学习Java编程语言及其应用的宝贵资源,不仅能让初学者了解基本的编程概念,也能帮助有经验的开发者温故知新,探索不同的实现方式。 首先,让我们从五子棋程序入手。五子棋是一种双人对弈的策略游戏,通过...

    Building Java Programs

    3. **基础知识**: 书中的“Back To Basics”意味着它会从编程的基本语法开始,如变量、数据类型、运算符、流程控制(条件语句、循环)、方法等,确保读者掌握编程的基础工具。 4. **类与对象**: Java中的所有事物都...

    旨在打造在线最佳的 Java 学习笔记.rar

    在学习Java中,常常碰到...这套JavaSE教程基于Java17讲述,从零基础出发,讲解Java编程的基础知识和实践技巧,涵盖了Java编程的方方面面。 原文链接:https://blog.csdn.net/2301_78369729/article/details/130947974

    Java语言程序设计第8版中文课件

    最后,Java的IO和NIO(非阻塞I/O)系统也是重要的知识点。从文件操作到流的使用,再到NIO的通道和选择器,这些内容对于处理数据输入输出至关重要。 本套中文课件涵盖了Java编程的方方面面,不仅适用于初学者,也...

    java-classic-program.rar_java经典程序

    这个"java-classic-program.rar"压缩包包含了名为"java经典小程序.doc"的文档,我们可以从中挖掘出丰富的Java编程知识点。 首先,"java经典小程序.doc"很可能是一个集合了多种Java编程示例的文档,这些示例可能涵盖...

    基于“四线”的Java程序设计教学方法研究 (1).pdf

    最后,本文通过网络编程的基础上强化了Java的优势,达到宁静致远的学习境界,让学生更深入高效地学会Java语言,使学生能够熟练完成相应程序的开发,提高了学生对Java面向对象程序设计的学习效果。 本文提出的基于...

    Java就业培训教程(张孝祥编著)

    这本书深入浅出地介绍了Java编程语言的基础知识,核心概念,以及在实际开发中的应用,旨在帮助读者掌握Java编程技能,为求职之路打下坚实基础。 1. **Java概述**:Java是一种面向对象的、跨平台的编程语言,由Sun ...

    JAVA课件 java 课件都有简易和复杂,我这个够简易的了。

    总的来说,这份"JAVA程序课件"提供了全面的Java编程知识,从基础到高级,旨在帮助学习者快速掌握Java语言,无论你是初入编程的新手还是希望巩固Java技能的开发者,都能从中受益。通过系统学习和实践,你将有能力编写...

Global site tag (gtag.js) - Google Analytics