码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础串理

时间:2016-05-01 01:13:25      阅读:260      评论:0      收藏:0      [点我收藏+]

标签:


今天抽了些时间翻阅资料复习一下Java部分基础知识,现整理笔记在此以备巩固。

Java主要应用领域

企业级应用:主要指复杂的大企业的软件系统、各种类型的网站。Java的安全机制以及它的跨平台的优势,使它在分布式系统领域开发中有广泛应用。应用领域包括金融、电信、交通、电子商务等。
Android平台应用:Android应用程序使用Java语言编写。Android开发水平的高低很大程度上取决于Java语言核心能力是否扎实。
移动领域应用,主要表现在消费和嵌入式领域,是指在各种小型设备上的应用,包括手机、PDA、机顶盒、汽车通信设备等。

java语言起源、特点

起源: java之父Jgosling与其团队在开发”Green”项目时,发现C缺少垃圾回收系统、可移植的安全性、分布式程序设计、和多线程功能。最后,他们想要一种易于移植到各种设备上的平台。

特点: Java从C语言和C++语言继承了许多成份,甚至可以将Java看成是类C语言发展和衍生的产物。比如Java语言的变量声明,操作符形式,参数传递,流程控制等方面和C语言、C++语言完全相同。因此Java语言是易学的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。

但同时,Java是一个纯粹的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间。

JDK1.5引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱。

Java语言是强制面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。

Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。

Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。如:安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查。

Java语言是解释型、跨平台的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统的解释器中运行。

Java语言是原生支持多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。

Java基础模块图解

技术分享



面向对象

面向对象与面向过程

技术分享

学习面向对象内容的三条主线:

1. java类及类的成员;
2. 面向对象的三大特征;
3. 其它关键字。

1. java类及类的成员

面向对象程序设计的重点是类的设计。Java中用类class来描述事物,类主要由属性、方法(行为)组成,关于属性、方法相关概念可以简单理解成:
Field = 属性 = 成员变量,Method = (成员)方法 = 函数

类成员的基础构成如下:

技术分享

还可以是这样:

技术分享

有了类和类的成员,要如何使用它们呢?通过java类的实例化,即创建类的对象。一般开发中,

?先去找具有所需功能的对象来用
?如果该对象不存在,那么创建一个具有所需功能的对象
?这样简化开发并提高复用

类和对象的关系:

技术分享

通过对象实例使用类和类的成员:

?使用new +构造器创建一个新的对象;
?使用“对象名.对象成员”的方式访问对象成员(包括属性和方法);
?如果创建了一个类的多个对象,对于类中定义的属性,每个对象都拥有各自的一套副本,且互不干扰。
?在一个类中:类中的方法可以直接访问类中的成员变量或其它方法。(例外:static方法访问非static,编译不通过。)

2.面向对象的三大特征

?封装 (Encapsulation)
?继承 (Inheritance)
?多态 (Polymorphism)

封装 (Encapsulation)

使用者对类内部定义的属性(对象的成员变量)的直接操作会导致数据的错误、混乱或安全性问题,如:

技术分享

Java中通过将数据声明为私有的(private),再提供公共的(public)方法:getXxx()和setXxx()实现对该属性的操作,以实现下述目的:

?隐藏一个类中不需要对外提供的实现细节;
?使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作;
?便于修改,增强代码的可维护性;

public class Animal{
   //将属性legs定义为private,只能被Animal类内部访问
   private int legs;
   //定义方法 eat() 和 move()
   public void setLegs(int i){ 
      if (i != 0 && i != 2 && i != 4){
         System.out.println("Wrong number of legs!");
         return;
      }
      legs=i;
   }
   public int getLegs(){
      return legs;
   }
}

public class Zoo{
   public static void main(String[] args){
      Animal xb=new Animal();
      xb.setLegs(4); //xb.setLegs(-1000);
      xb.legs=-1000; //非法
      System.out.println(xb.getLegs());
   }
}

四种访问权限修饰符:

技术分享

继承 (Inheritance)

多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。此处的多个类称为子类,单独的这个类称为父类(基类或超类)。可以理解为:“子类 is a 父类”。

技术分享

类继承语法规则: class Subclass extends Superclass{ }

技术分享

技术分享

技术分享

技术分享

多态 (Polymorphism)

多态性,是面向对象中最重要的概念,在java中有两种体现:

1. 方法的重载(overload)和重写(overwrite)。
2. 对象的多态性 :父类的引用指向子类对象实体(可以直接应用在抽象类和接口上)

技术分享

技术分享

技术分享

3.其它关键字

?this
?super
?static
?final
?abstract
?interface

Java基础串理

标签:

原文地址:http://blog.csdn.net/csdnyoyo/article/details/51288039

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!