Java新手入门的30个基本概念

    前言:

  在我们学习Java的过程中,掌握其中的基本概念对我们的学习无论是J2SE,J2EE,J2ME都是很重要的,J2SE是Java的基础,所以有必要对其中的基本概念做以归纳,以便大家在以后的学习过程中更好的理解java的精髓,在此我总结了30条基本的概念。

  Java概述:

  目前Java主要应用于中间件的开发(middleware)---处理客户机于服务器之间的通信技术,早期的实践证明,Java不适合pc应用程序的开发,其发展逐渐变成在开发手持设备,互联网信息站,及车载计算机的开发.Java于其他语言所不同的是程序运行时提供了平台的独立性,称许可以在windows,solaris,linux其他操作系统上使用完全相同的代码.Java的语法与C++语法类似,C++/C程序员很容易掌握,而且Java是完全的彻底的面向对象的,其中提出了很好的GC(Garbage Collector)垃圾处理机制,防止内存溢出。

  Java的白皮书为我们提出了Java语言的11个关键特性。

  (1)Easy:Java的语法比C++的相对简单,另一个方面就是Java能使软件在很小的机器上运行,基础解释其和类库的支持的大小约为40kb,增加基本的标准库和线程支持的内存需要增加125kb。

  (2)分布式:Java带有很强大的TCP/IP协议族的例程库,Java应用程序能够通过URL来穿过网络来访问远程对象,由于servlet机制的出现,使Java编程非常的高效,现在许多的大的web server都支持servlet。

  (3)OO:面向对象设计是把重点放在对象及对象的接口上的一个编程技术.其面向对象和C++有很多不同,在与多重继承的处理及Java的原类模型。

  (4)健壮特性:Java采取了一个安全指针模型,能减小重写内存和数据崩溃的可能型。

  (5)安全:Java用来设计网路和分布系统,这带来了新的安全问题,Java可以用来构建防病毒和防攻击的System.事实证明Java在防毒这一方面做的比较好。

  (6)中立体系结构:Java编译其生成体系结构中立的目标文件格式可以在很多处理器上执行,编译器产生的指令字节码(Javabytecode)实现此特性,此字节码可以在任何机器上解释执行。

  (7)可移植性:Java中对基本数据结构类型的大小和算法都有严格的规定所以可移植性很好。

  (8)多线程:Java处理多线程的过程很简单,Java把多线程实现交给底下操作系统或线程程序完成.所以多线程是Java作为服务器端开发语言的流行原因之一。

  (9)Applet和servlet:能够在网页上执行的程序叫Applet,需要支持Java的浏览器很多,而applet支持动态的网页,这是很多其他语言所不能做到的。

基本概念:

  1.OOP中唯一关系的是对象的接口是什么,就像计算机的销售商她不管电源内部结构是怎样的,他只关系能否给你提供电就行了,也就是只要知道can or not而不是how and why.所有的程序是由一定的属性和行为对象组成的,不同的对象的访问通过函数调用来完成,对象间所有的交流都是通过方法调用,通过对封装对象数据,很大限度上提高复用率。

  2.OOP中最重要的思想是类,类是模板是蓝图,从类中构造一个对象,即创建了这个类的一个实例(instance)。

  3.封装:就是把数据和行为结合起在一个包中)并对对象使用者隐藏数据的实现过程,一个对象中的数据叫他的实例字段(instance field)。

  4.通过扩展一个类来获得一个新类叫继承(inheritance),而所有的类都是由Object根超类扩展而得,根超类下文会做介绍。

  5.对象的3个主要特性

  behavior---说明这个对象能做什么.
  state---当对象施加方法时对象的反映.
  identity---与其他相似行为对象的区分标志.
  每个对象有唯一的indentity 而这3者之间相互影响.

  6.类之间的关系:

use-a :依赖关系
has-a :聚合关系
is-a :继承关系--例:A类继承了B类,此时A类不仅有了B类的方法,还有其自己的方法.(个性存在于共性中)

  7.构造对象使用构造器:构造器的提出,构造器是一种特殊的方法,构造对象并对其初始化。

  例:Data类的构造器叫Data

   new Data()---构造一个新对象,且初始化当前时间.
   Data happyday=new Data()---把一个对象赋值给一个变量happyday,从而使该对象能够多次使用,此处要声明的使变量与对象变量二者是不同的.new返回的值是一个引用。

  构造器特点:构造器可以有0个,一个或多个参数
  构造器和类有相同的名字
  一个类可以有多个构造器
  构造器没有返回值
  构造器总是和new运算符一起使用.

  8.重载:当多个方法具有相同的名字而含有不同的参数时,便发生重载.编译器必须挑选出调用哪个方法。

  9.包(package)Java允许把一个或多个类收集在一起成为一组,称作包,以便于组织任务,标准Java库分为许多包.java.lang java.util java,net等,包是分层次的所有的java包都在java和javax包层次内。

  10.继承思想:允许在已经存在的类的基础上构建新的类,当你继承一个已经存在的类时,那么你就复用了这个类的方法和字段,同时你可以在新类中添加新的方法和字段。

  11.扩展类:扩展类充分体现了is-a的继承关系. 形式为:class (子类) extends (基类)。

  12.多态:在java中,对象变量是多态的.而java中不支持多重继承。

  13.动态绑定:调用对象方法的机制。

  (1)编译器检查对象声明的类型和方法名。

  (2)编译器检查方法调用的参数类型。

  (3)静态绑定:若方法类型为priavte static final 编译器会准确知道该调用哪个方法。

  (4)当程序运行并且使用动态绑定来调用一个方法时,那么虚拟机必须调用x所指向的对象的实际类型相匹配的方法版本。

  (5)动态绑定:是很重要的特性,它能使程序变得可扩展而不需要重编译已存代码。

  14.final类:为防止他人从你的类上派生新类,此类是不可扩展的。

  15.动态调用比静态调用花费的时间要长。

  16.抽象类:规定一个或多个抽象方法的类本身必须定义为abstract。

  例: public abstract string getDescripition

 17.Java中的每一个类都是从Object类扩展而来的。

  18.object类中的equal和toString方法。

  equal用于测试一个对象是否同另一个对象相等。

  toString返回一个代表该对象的字符串,几乎每一个类都会重载该方法,以便返回当前状态的正确表示.
(toString 方法是一个很重要的方法)

   19.通用编程:任何类类型的所有值都可以同object类性的变量来代替。

  20.数组列表:ArrayList动态数组列表,是一个类库,定义在java.uitl包中,可自动调节数组的大小。

  21.class类 object类中的getclass方法返回ckass类型的一个实例,程序启动时包含在main方法的类会被加载,虚拟机要加载他需要的所有类,每一个加载的类都要加载它需要的类。

  22.class类为编写可动态操纵java代码的程序提供了强大的功能反射,这项功能为JavaBeans特别有用,使用反射Java能支持VB程序员习惯使用的工具。

  能够分析类能力的程序叫反射器,Java中提供此功能的包叫Java.lang.reflect反射机制十分强大.

  1.在运行时分析类的能力。
  2.在运行时探察类的对象。
  3.实现通用数组操纵代码。
  4.提供方法对象。

   而此机制主要针对是工具者而不是应用及程序。

   反射机制中的最重要的部分是允许你检查类的结构.用到的API有:

java.lang.reflect.Field 返回字段.
java.reflect.Method 返回方法.
java.lang.reflect.Constructor 返回参数.

  方法指针:java没有方法指针,把一个方法的地址传给另一个方法,可以在后面调用它,而接口是更好的解决方案。

  23.接口(Interface)说明类该做什么而不指定如何去做,一个类可以实现一个或多个interface。

  24.接口不是一个类,而是对符合接口要求的类的一套规范。

  若实现一个接口需要2个步骤: 

  1.声明类需要实现的指定接口。
  2.提供接口中的所有方法的定义。

  声明一个类实现一个接口需要使用implements 关键字

  class actionB implements Comparable 其actionb需要提供CompareTo方法,接口不是类,不能用new实例化一个接口.

   25.一个类只有一个超类,但一个类能实现多个接口。Java中的一个重要接口:Cloneable

  26.接口和回调.编程一个常用的模式是回调模式,在这种模式中你可以指定当一个特定时间发生时回调对象上的方法。

  例:ActionListener 接口监听.
  类似的API有:java.swing.JOptionPane

   java.swing.Timer
   java.awt.Tookit

  27.对象clone:clone方法是object一个保护方法,这意味着你的代码不能简单的调用它。

  28.内部类:一个内部类的定义是定义在另一个内部的类。

  原因是:

  1.一个内部类的对象能够访问创建它的对象的实现,包括私有数据。

  2.对于同一个包中的其他类来说,内部类能够隐藏起来。

  3.匿名内部类可以很方便的定义回调。

  4.使用内部类可以非常方便的编写事件驱动程序。

  29.代理类(proxy):

  1.指定接口要求所有代码

  2.object类定义的所有的方法(toString equals)

  30.数据类型:Java是强调类型的语言,每个变量都必须先申明它都类型,java中总共有8个基本类型.4种是整型,2种是浮点型,一种是字符型,被用于Unicode编码中的字符,布尔型。

(0)

相关推荐

  • 解析电子邮件的基本概念及JavaMail API邮件功能使用

    电子邮件的基本概念介绍 电子邮件用于网上的信心传递和交流,它是最重要的Internet服务之一.据统计Internet有30%的业务是电子邮件有关的.同时我们也不可否认它在我们的日常生活.工作办公方面扮演着很重要的角色.譬如:许多办公自动化项目(OA)中都要附带发送邮件的功能,如果还要使用OutLook等手工方式就不适合,在这个高速的时代,我们需要提供工作效率,让工作能够自动化.同时在许多网站中也都需要附带发送邮件的功能:给新注册的用户发送一封包含其注册信息的欢迎E-Mail.将网站的最新活动信

  • Java编程基本概念

    1.标识符 ①用于给变量.类和方法命名(类名首字母大写,变量和方法名首字母小写并遵循驼峰原则) ②标识符的命名规范: ■ 标识符必须以字母.下划线和美元符$开头. ■ 标识符其他部分可以是字母.下划线.美元符和数字的任意组合. ■ Java标识符大小写敏感,且长度无限制. ■ 不可以是Java的关键字. ③Java不采用通常语言使用的ASCII(American Standard Code for Information Interchange美国信息交换标准码)字符集,而是采用unicode这

  • Java的面向对象编程基本概念学习笔记整理

    个人理解,编程中所谓的 类¨ 与现实世界中对物体的分门别类中的类是同一个概念,只是在编程中将其借用进来.类代表有一系列共性和相同操作或动作的事物,在编程中即为抽象的数据类型.具体的每个个体(现实世界中).实例变量(对于在编程中来说)就是对象. 类是现实世界某些对象的共同特征(属性和操作)的表示,对象是类的实例. 类的属性:就是类的静态属性的简称,指类内包含的各项数据,如变量或其他类的对象:    类的服务:  则被称为成员函数或方法. ¨ Java中类的定义形式如下: [修饰符] class 类

  • Java线程的基本概念

    在之前的章节中,我们都是假设程序中只有一条执行流,程序从main方法的第一条语句逐条执行直到结束.从本节开始,我们讨论并发,在程序中创建线程来启动多条执行流,并发和线程是一个复杂的话题,本节,我们先来讨论Java中线程的一些基本概念. 创建线程 线程表示一条单独的执行流,它有自己的程序执行计数器,有自己的栈.下面,我们通过创建线程来对线程建立一个直观感受,在Java中创建线程有两种方式,一种是继承Thread,另外一种是实现Runnable接口,我们先来看第一种. 继承Thread Java中j

  • 浅谈关于Java的GC垃圾回收器的一些基本概念

    一.基本回收算法 1. 引用计数(Reference Counting) 比较古老的回收算法.原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数.垃圾回收时,只用收集计数为0的对象.此算法最致命的是无法处理循环引用的问题. 2. 标记-清除(Mark-Sweep) 此算法执行分两阶段.第一阶段从引用根节点开始标记所有被引用的对象,第二阶段遍历整个堆,把未标记的对象清除.此算法需要暂停整个应用,同时,会产生内存碎片. 3. 复制(Copying) 此算法把内存空间划为两个相等的区域

  • 基于Java 注解(Annotation)的基本概念详解

    什么是注解(Annotation): Annotation(注解)就是Java提供了一种元程序中的元素关联任何信息和着任何元数据(metadata)的途径和方法.Annotion(注解)是一个接口,程序可以通过反射来获取指定程序元素的Annotion对象,然后通过Annotion对象来获取注解里面的元数据. Annotation(注解)是JDK5.0及以后版本引入的.它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查.从某些方面看,annotation就像修饰符一样被使用,并应用于包

  • java基本教程之多线程基本概念 java多线程教程

    多线程是Java中不可避免的一个重要主体.下面我们将展开对多线程的学习.接下来的内容,是对"JDK中新增JUC包"之前的Java多线程内容的讲解,涉及到的内容包括,Object类中的wait(), notify()等接口:Thread类中的接口:synchronized关键字. 注:JUC包是指,Java.util.concurrent包,它是由Java大师Doug Lea完成并在JDK1.5版本添加到Java中的. 在进入后面章节的学习之前,先对了解一些多线程的相关概念.线程状态图

  • Java4Android开发教程(三)java基本概念

    什么是环境变量? 环境变量通常是指在操作系统当中,用来指定操作系统运行时需要的一些参数.通常为一系列的键值对. path环境变量的作用 path环境变量是操作系统外部命令搜索路径 什么是外部命令搜索路径?举个例子,如在cmd下执行ipconfig命令,显示当前计算机网卡的配置.当输入ipconfig后,操作系统会执行ipconfig.exe(C:\Windows\System32),即当输入xxx命令时,系统会执行对应的exe,在path的变量值中依次寻找exe的存放路径,找不到则提示错误. c

  • Java编程中线程池的基本概念和使用

    1 引入线程池的原因 由于线程的生命周期中包括创建.就绪.运行.阻塞.销毁阶段,当我们待处理的任务数目较小时,我们可以自己创建几个线程来处理相应的任务,但当有大量的任务时,由于创建.销毁线程需要很大的开销,运用线程池这些问题就大大的缓解了. 2 线程池的使用 我们只需要运用Executors类给我们提供的静态方法,就可以创建相应的线程池: public static ExecutorSevice newSingleThreadExecutor() public static ExecutorSe

  • 浅谈java泛型的作用及其基本概念

    一.泛型的基本概念 java与c#一样,都存在泛型的概念,及类型的参数化.java中的泛型是在jdk5.0后出现的,但是java中的泛型与C#中的泛型是有本质区别的,首先从集合类型上来说,java 中的ArrayList<Integer>和ArrayList<String>是同一个类型,在编译时会执行类型擦除,及java中的类型是伪泛型,伪泛型将会在后面介绍,其次,对于像集合中添加基本类型的数据时,例如int,会首先将int转化成Integer对象,即我们通常所说的装箱操作,在取出

随机推荐