zoukankan      html  css  js  c++  java
  • C功底挑战Java菜鸟入门概念干货(二)

    (接上篇博文:C功底挑战Java菜鸟入门概念干货(一))

    一、Java面向对象程序设计-类的基本形式

    1、“类”是把事物的数据与相关的功能封装在一起,形成的一种特殊结构,用以表达对真实世界的一种抽象概念。 
    2、Java 把数据成员称为 field(属性),把方法成员称为 method(方法)。 
    3、由类所创建的对象称为 instance,译为“实例”。 
    4、创建属于某类的对象,可通过下面两个步骤来达成:

    (1)、声明指向“由类所创建的对象”的变量。

    (2)、利用 new 创建新的对象,并指派给步骤一中所创建的变量。 
    5、要访问到对象里的某个属性(field)时,可通过“对象名称.属性”语法来实现,如果要调用封装在类里的方法,则可通过“对象名称.method”语法来实现。 
    6、有些方法不必传递任何数据给调用端程序,因此是没有返回值的。若方法本身没有返回值,则必须在方法定义语句前面加上关键字 void。 
    7、私有成员(private member)可限定类中的属性,被限制成私有的属性仅能供同一类内的方法所访问。 
    8、类外部可访问到类内部的公有成员(public member)。 
    9、“封装”(encapsulation):是把属性和方法包装在一个类内以限定成员的访问,以起到保护数据的作用。 
    10、构造方法可视为一种特殊的方法,它的主要作用是为所创建的对象赋初值。 
    11、构造方法的名称必须与其所属的类的类名称相同,且不能有返回值。 
    12、从某一构造方法内调用另一构造方法,是通过 this()  这个关键字来完成的。 
    13、构造方法有 public 与 private 之分。声明为 public 的构造方法可以在程序的任何地方被调用,所以新创建的对象都可以自动调用它。而被声明为 private 的则无法在该构造方法所在的类以外的其它地方被调用。
    14、如果构造方法省略不写,Java 则会自动调用默认的构造方法(默认的构造方法没有任何参数)。 
    15、“基本类型的变量”是指用 int、double 等关键字所声明的变量,而由类声明而得的变量,称之为“类类型的变量”,它是属于“非基本类型的变量”的一种。 
    16、对象也可以用数组来存放,但必须有下面两个步骤:

    (1)、声明类类型的数组变量,并用 new 分配内存空间给数组。

    (2)、用 new 产生新的对象,并分配内存空 间给它。 

    17、如果在类 Outer 的内部再定义一个类 Inner,此时类 Inner 称为内部类(inner class),而类 Outer 则称为外部类(outer class)。

    二、Java面向对象程序设计-类的继承

    1、通过 extends 关键字,可将父类的成员(包含数据成员与方法)继承到子类。 
    2、Java 在执行子类的构造方法之前,会先调用父类中无参的构造方法,其目的是为了对继承自父类的成员做初始化的操作。 
    3、父类有数个构造方法时,如要调用特定的构造方法,则可在子类的构造方法中,通过 super()这个关键字来完成。 
    4、this()是在同一类内调用其它的构造方法,而 super()则是从子类的构造方法调用其父类的构造方法。 
    5、this()除了可用来调用同一类内的其它构造方法之外,如果同一类内“实例变量”与局部(local)变量的名称相同时,也可利用它来调用同一类内的“实例变量”。 
    6、this()与 super()其相似之处:

    (1)当构造方法有重载时,两者均会根据所给予的参数的类型与个数,正确地执行相对应的构造方法。

    (2)两者均必须编写在构造方法内的第一行,也正是这个原因,this()与 super()无法同时存在同一个构造方法内。 
    7、“重载”(overloading),它是指在相同类内,定义名称相同,但参数个数或类型不同的方法,因此 Java 便可依据参数的个数或类型调用相应的方法。 
    8、“复写”(overriding),它是在子类当中,定义名称、参数个数与类型均与父类相同的方法,用以复写父类里的方法。 
    9、如果父类的方法不希望子类的方法来复写它,可在父类的方法之前加上“final”关键字,如此该方法便不会被复写。 
    10、final 的另一个功用是把它加在数据成员变量前面,如此该变量就变成了一个常量(constant),如此便无法在程序代码中再做修改了。 
    11、所有的类均继承自 Object 类。 
    12、复写 Object 类中的 equals() method 可用来比较两个类的对象是否相等。 
    13、Java 可以创建抽象类,专门用来当做父类。抽象类的作用类似于“模板”,其目的是依据其格式来修改并创建新的类。 
    14、抽象类的方法可分为两种:一种是一般的方法,另一种是以abstract关键字开头的“抽象方法”。“抽象方法”并没有定义方法体,而是要保留给由抽象类派生出的新类来定义。 
    15、利用父类的变量数组来访问子类的内容的较好的做法是: 

    (1)先创建父类的变量数组; 
    (2)利用数组元素创建子类的对象,并以它来访问子类的内容。 
    16、抽象类不能直接用来产生对象。 
    17、接口的结构和抽象类非常相似,它也具有数据成员与抽象method,但它与抽象类有两点不同:

    (1)、接口的数据成员必须初始化。

    (2)、接口里的方法必须全部都声明成 abstract。 
    18、利用接口的特性来打造一个新的类,称为接口的实现(implementation)。 
    19、Java并不允许多重继承。 
    20、接口与一般类一样,均可通过扩展的技术来派生出新的接口。原来的接口称为基本接口或父接口;派生出的接口成为派生接口或子接口。通过这种机制,派生接口不仅可以保留父接口的成员,同时也可以加入新的成员以满足实际的需要。 
    21、Java对象的多态性分为:向上转型(自动)、向下转型(强制)。 
    22、通过instanceof 关键字,可以判断对象属于那个类。 
    23、匿名内部类(anonymous inner class)的好处是可利用内部类创建不具有名称的对象,并利用它访问到类里的成员。

    (待续见下片博文:C功底挑战Java菜鸟入门概念干货(三))

  • 相关阅读:
    go操作windows进程相关
    HTML5-格式化
    HTML5-属性
    关于sublime建立python工程的说明
    在Windows系统中安装matplotlib,需要注意的问题
    WPF combobox数据绑定和数据获取
    String的用法——其他功能
    String的用法——获取功能
    String的用法——判断功能
    String的用法——构造方法
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3293828.html
Copyright © 2011-2022 走看看