第一章 java介绍

1.编程的本质:

  机器空间:解空间

  问题空间:实际需要解决的业务问题,将该问题抽象化,在解空间中对问题建模。

  编程就是建立问题空间和机器空间中的关联

  面向对象编程思想:

    1.万物皆为对象:将拥有相同特征的抽象为一个对象。并将对象抽象为一个变量,变量可进行存储数据并对其自身进行操作。

    2.程序就是操作对象,向对象进行调用请求。

    3.一个对象的属性可以由其他对象充当

    4.每个对象都拥有自己的类型

    5.某一特定类型的所有对象都可以进行相同的操作。

    每一个对象都在内存中有唯一的地址。都拥有其自己的数据。

2.每个对象都可抽象出一个接口

  一个类就是一种数据类型,他拥有自己独特的元素(属性),也有自己独特的操作方法。

  接口定义了一个类能进行的操作(发出的请求,即他的方法),

3.每个对象都提供服务

  当你需要解决某项问题时,就创建或调用可以实现你需求的对象,该对象为你提供接口服务(即api)

  高内聚性: 每个对象仅仅完成一项工作,多个对象组合起来完成一项复杂工作。即每个对象可以组合在一起协助完成工作。

4.被隐藏的具体实现

  public,private。protected,default 四种访问权限的理解

  这些访问权限决定了本类和类内部的成员变量,属性,内部类,方法等是否在其他类中可见

5.组合

  组合:在创建B类时,将A类(已存在)做为B类的成员变量。这样的关系就想是B中有A,就像自行车拥有轮胎一样。

  优点:带来极大的灵活性。在客户端使用B类时,可以在不影响客户端使用的情况下修改A类的代码实现动态修改程序的行为。

6.继承

  当两个类拥有is a关系时,在程序中,我们将这种关系可以表示为继承。例如形状和三角形,圆形,四边形等,此时形状就是他们的父类,被他们继承。

  在继承关系中,子类中包含父类所有的成员变量和接口,并且可以新创建的接口。当子类在自己的类中创建与父类同名的方法,此行为称之为重写。

7.多态

  当多个子类同时继承一个父类,并都重写了父类的某一个接口,那么当控制类在调用被子类都重写并参数为父类的方法时,会产生向上转型现象,程序最终会根据    子类的类型来调用各自的方法。(在这个过程中,java编译器会自动将类型进行识别)

  示例:

  

public class FatherClass{
      public static void doSaming(FatherClass father){
        father.do(){}
      }
      public void do(){}
      
      public static void main(String[] args){
        ChildClass2 child2 = new ChildClass2();
        ChildClass1 child1 = new ChildClass1();
        FatherClass  fa = new FatherClass ();
 //在此处,本应传入fatherClass类型的参数,但是传入子类类型参数也不会报错,就是向上转型。
 //在doSaming()中调用的do()被子类重写,此时程序会根据传来的子类类型自动调用相应的方法,这就是多态。
      }
  
    }
    public class ChildClass1{
      public void do(ChildClass1 child1){
        system.out.println("child1");
      }
    }
    
    public class ChildClass2{
      public void do(ChildClass2 child2){
        system.out.println("child2");
      }
    }
    
    public class Controller{
      
    }

8.单根继承结构:所有的java类都默认继承Object类。

9.容器:java具有满足不同需要的各种类型的容器比如List(存储序列),Map(关联数组),set(每种对象类型只有一个),以及堆,栈,树,队列等。具体的使用根据情况确定。

10.参数化类型:即泛型,通过使用泛型,编译器可以定制一个只接纳和取出泛型对应类型的对象。

11. 对象的创建和生命周期:java采用动态内存分配方式,使用new的方式创建新对象,并将新的对象放在名为堆的容器中。创建的对象实际上是指向堆内对象的引用(物理地址)。当该对象不再使用时,java垃圾回收机制会将其销毁。

12.异常处理:java内置了异常处理,并强制使用。

13.并发编程:线程是为某一单一任务分配执行时间的手段。

14.java和internet

  ①web:客户/服务端系统,服务端是一个中央信息存储池,负责存储数据,客户端则根据需要向服务端发送请求,并获取服务端返回的数据。在此过程中会牵扯到

      事务处理等事件。而web就是一个巨型的客户/服务端系统,但是它将客户和服务端都放在同一个网络中。

  ②客户端编程:客户端编程能是web浏览器完成其能完成的所有工作,使浏览器的响应及处理边的更快。

    (1)插件:

    (2)javaScript语言

    (3)java applet是在web浏览器中运行的小程序

    (4)其他备选方案

    (5).net:类似于java jvm

    (6)internet和intarnet

  ③服务器编程:java编写servlet的程序来实现服务器编程。

15.本节内容仅作为介绍java所涵盖的范围,具体知识点我会继续学习,并在之后的文章中分享,感兴趣的朋友若是发现那里有问题或者错误,感谢指正。