尚硅谷Java基础学习笔记五

来源:互联网 发布:全球域名商排行榜 编辑:程序博客网 时间:2024/06/10 09:33

1.面向对象概念

面向过程:谓语与宾语

面向对象:主语与谓语

三大特征:

封装(Encapsulation)

继承(Inheritance)

多态(Polymorphism)


2.类和对象

类(class):对一类食物的描述,是抽象的、概念上的定义

对象(object):是实际存在的该类事物的每个个体,也称实例(instance)

声明一个类

<修饰符> class <类名>    (public:类可以被任意访问)

{

    <属性声明>

    <构造器声明>

    <方法声明>

}

声明属性

<修饰符> 类型 <属性名>[=初值];

private(-):该属性只能由该类的方法访问

public(+):该属性可以被该类以外的方法访问

声明方法

<修饰符> <返回类型> 方法名 (参数表)

{

    语句;

}

返回类型:return语句传递返回值;没有返回值用void

对象的创建

使用 new+构造方法 创建一个新的对象   例:Human tom = new Human();

对象的产生

例:Person p1 = new Person();

当一个对象呗创建时,会对其中各种类型的成员变量自动进行初始化赋值


3.对象的生命周期


4.匿名对象

可以不定义对象的句柄,而直接调用这个对象的方法,这样的对象叫做匿名对象。    例:new Person().shout();

如果对一个只需要进行一次方法调用,那么久可以使用匿名对象

经常将匿名对象作为实参传递给一个函数调用


5.信息的封装和隐藏

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

隐藏一个类的实现细节;

使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作;

便于修改,增强代码的可维护性;


6.构造器

与类同名;不含返回值;

当一个类的实例对象产生时,这个类的构造方法就会被自动调用

<修饰符> 类名 (参数表)

{

    语句;

}

Java语言中,每个类至少有一个构造方法

如果类的定义者没有显式的定义任何构造方法,系统将自动提供一个默认的构造方法:

默认构造方法没有参数

默认构造方法没有方法体

默认的构造方法:Animal(){}

所以:不编写构造方法就能用new Xxx()创建类的实例。

Java类中,一旦类的定义者显式定义了一个或多个构造方法,系统将不再提供默认的构造方法;

构造器的主要作用:利用构造器参数初始化对象的属性。


7.函数重载

返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,….)
      {
             程序代码
             return 返回值;
      }

其中:

形式参数:在方法被调用时用于接收外部传入的数据的变量。

参数类型:就是该形式参数的数据类型。

返回值:方法在执行完毕后返还给调用它的程序的数据。

返回值类型:函数要返回的结果的数据类型。

实参:调用函数时实际传给函数形式参数的数据。



函数的重载就是在同一个类中允许同时存在一个以上的同名函数,只要它们的参数个数或类型不同即可。

重载方法的参数列表必须不同

重载方法的返回值类型可以相同,也可以不同

调用时根据方法的参数类型来区别


8.this关键字

this关键字在java程序里的作用和它的词义很接近,它在函数内部就是这个函数所属的对象的引用变量。

每个成员方法内部,都有一个this引用变量,指向调用这个方法的对象


9.包

package语句作为Java源文件的第一条语句,指明该文件中定义的类所在的包。(若缺省该语句,则指定为无名包)。它的格式为:

package <顶层包名>[.<子包名>]* ;

举例:pack\Test.java
                package p1;    //指定类Test属于包p1

包对应于文件系统的目录,package语句中,用‘ .’ 来指明包(目录)的层次;

为使用定义在不同包中的Java类,需用import语句来引入所需要的类。Import语句告诉编译器到哪里去寻找类。
语法格式:

import  包名[.子包名…]. <类名 |*>

java.lang----包含一些Java语言的核心类,如String、Math、Integer、System和Thread,提供常用功能。

java.net----包含执行与网络相关的操作的类。

java.io----包含能提供多种输入/输出功能的类。

java.util----包含一些实用工具类,如定义系统特性、使用与日期日历相关的函数。





0 0
原创粉丝点击