java基础二

1. 方法(函数):为了完成特定功能的代码块,提高代码的复用性。
方法格式:
               修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
            方法体语句;
            return 返回值;
        }
注意:只能在函数中调用函数,不能再函数中定义函数。

2.数据:是存储同一种数据类型多个元素的集合,也可以看一个容器。(注意数组元素类型必须相同,容器可以存储不同的元素,但是一般不会这样使用)。

数组格式:数据类型[] 数组名 = new 数据类型[数组的长度];

数组的初始化:就是为数组开辟连续的内存空间,并且为每个数组元素赋予值。

3.Java 中的内存分配以及栈和堆的区别:
栈:用来存储局部变量    堆:存储 new 出来的对象或数组    

4.面向对象:
特点:a.是一种更符合我们思想习惯的思想    b.可以将复杂的事情简单化   c.将我们从执行者变成了指挥者,角色发生了转换

特征:封装 继承 多态    

5.类与对象概述:
类:是一组相关的属性和行为的集合    对象:是该类事物的具体体现

6.成员变量和局部变量的区别:
成员变量:在类中方法外;成员变量属于对象,存储在栈内存中;成员变量随着对象的创建而存在,随着对象的消失而消失;成员变量有默认初始化值。

局部变量:在方法定义中或者方法声明上;局部变量属于方法,方法进栈内存;局部变量随着方法的调用而存在,随着方法的调用完毕而消失;局部变量没有默认值初始化值,必须定义,赋值,然后才能使用。

注意:局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则;基本的数据类型包括:byte,short,int,long,float,double,char,boolean;引用基本数据类型包括:数组,接口,类,枚举。

7.匿名对象:
没有名字的对象,仅仅只调用一次。

注意:调用多次的时候,不适合使用匿名类;匿名对象调用完毕就是垃圾;可以被垃圾回收器回收,同时匿名对象可以作为实际参数传递。

8.封装:
是指隐藏对象的属性和实现细节,仅仅对外提供公共访问方式。

好处:隐藏实现细节,提供公共的访问方式;提高了代码的复用性;提高安全性。

封装原则:将不需要对外提供的内容都隐藏起来;把属性隐藏,提供公共方法对其访问。

9.关键字 private:
特点:是一个权限修饰符;可以修饰成员变量,成员方法;被其修饰的成员只能在本类中被访问

10.关键字 this:
特点:代表当前对象的引用,并且可以用来区分成员变量与局部变量的重名;

注意:构造函数之间调用,只能使用 this 关键字。并且 this 代码只能放在构造函数的第一行。

11.构造方法 Constructor:
new 出新对象的时候,对对象属性进行初始化赋值。

特点:方法名和类名是相同的;没有返回类型;没有具体的返回值 return。

构造方法的重载:方法名相同;传递参数不一样,类型不一样而且数目也可以不一样。

注意:如果我们自己没有编写类的构造函数,则系统会自动提供一个无参数的构造函数;如果我们提供了构造函数,系统就不会再提供默认的无参数构造函数;这个时候,如果我们还要使用无参数的构造函数,则必须自己重新编写;最后自己总是重写无参数构造函数。

12.关键字 static :
特点:static 修饰符修饰的变量或方法叫做静态变量或静态方法;静态变量或静态方法随着类的加载而加载。

静态变量和静态方法优先于对象存在;一个类的所有个对象共享同一个静态变量;也可以通过类名直接进行访问。

注意:静态是随着类的加载而加载的,this 是随着对象的创建而存在的;静态函数只能访问静态变量和静态函数,简单说就是静态只能访问静态。

13.静态变量和成员变量:
静态变量属于类,所以又叫做类变量;随着类的加载而加载,随着类的消失而消失;存放在方法区;可以通过类名+静态变量名来调用静态变量,也可以通过对象名+静态变量来调用。

14.主函数:
是一个特殊的函数,作为程序的入口;可以被 jvm 调用。

主函数的定义:
    public : 代表该函数访问权限是最大的
    static : 代表主函数随着类的加载就已经存在了
    void : 代表主函数没有返回类型
    main : 不是关键字,是一个特殊的单词。可以被 jvm 识别
    (String args[]) : 函数的参数,参数类型是一个数组。该数组中元素是字符串,字符串类型数组

    主函数的固定格式的: 被 jvm 识别

15. 编写 java 文档说明书:   在dos下的命令为:javadoc -d 路径 -author -version ArrayTool.java      注意这个ArrayTool.java必须是 public 修饰

16.如何使用API 文档:
找到文档,打开文档;点击显示,找到索引,出现输入框;你应该知道你找谁?举例:Scanner;看这个类的结构(需不需要导包)。

17.代码块:
使用{}括起来的代码被称为代码块;代码块可以分为以下几种:

局部代码块:在方法中出现,限定变量生命周期,及早释放,提高内存利用率。

静态代码块:在类中方法外使用,使用关键字 static 修饰,用于给类进行初始化,在加载的类的时候执行,并且执行一次。

构造代码块:在类中方法外使用,多个构造方法共同的代码放在一起;每次调用构造函数都执行构造代码块,并且在构造函数之前执行;一般用于驱动加载。

18.继承:
通过关键字 extends 来实现继承

好处:提高了代码的复用性;提高了代码的维护性;让类与类之间产生了关系,这也是实现多态的前提。

坏处:类的耦合性增强了(注意项目开发原则:高内聚,低耦合;内聚就是类本身实现的功能;耦合就是类与类之间的关系)。

特点:Java 只支持单继承,不支持多继承,因为多继承容易带来安全隐患:当多个父类中定义了相同功能时,当功能内容不一致的时候,不确定调用那个具体功能(但是却可以通过 extends A , B 来实现继承多个父类,从而达到多继承);也支持多层继承。

注意:子类继承父类只能继承父类的非私有部分(成员变量,方法);子类不能继承父类的构造函数,但是可以通过关键字 super 来调用父类构造函数;不应该为了实现部分功能继承父类;
子类的所有构造函数执行之前都会调用父类的无参构造函数,而且必须是第一行。

19.方法重写:
子父类出现了一个一模一样的函数

特点:当子类需要一个和父类功能相同的函数功能时,但是子类又具有自己的一些特有功能方法。这个时候子类中就需要重写父类函数。

注意:父类中的 private 方法不能被子类进行重写;子类重写后的函数不能低于父类中函数的权限;父类中函数是静态的,则子类重写函数也必须是静态的;子类重写父类函数时,最好自己直接去 copy,尽量不要自己编写,因为这样很容易出现单词编写错误。

20.关键字 final:

特点:被 final 修饰的函数不能被子类重写;被 final 修饰的变量不能再被重新赋值 ; 被 final 修饰的类,不能被子类继承。

21.关键字 abstract 抽象:
抽象类和一般类没有太大的不同,该如何描述事物就如何描述事物,只不过,事物当中有些看不懂的东西。这些不确定的部分,也是该事物的功能,需要明确出现,但是无法定义主体。通过抽象来完成。   抽象类比一般类多了抽象方法,并且抽象类不可以实例化。

注意:抽象类是不能 new 出新对象的;子类继承了抽象类,则必须实现抽象类中的抽象方法,如果只是实现了部分抽象方法则该子类也是抽象类;抽象类中可以有非抽象方法,如果子类有抽象方法,则该类必须使用 abstract 抽象修饰。

22. interface 接口:初期理解,可以理解为一个特殊的抽象类,当抽象类中的方法都是抽象时,那么该类可以通过接口的形式来表示   class 定义类  interface 定义接口

注意:接口可以被类多实现;接口与接口之间可以是继承关系;接口之间可以是多继承关系。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值