Java基础复习笔记

一、对象:真实存在的唯一的事物。

二、类:同一种类型的事物公共属性与公共行为的抽取。

三、Java面向对象语言:

         1、核心思想:找适合的对象做适合的事情。

2、找对象的方式:

                   方式一:sun已经定义好了很多类,我们只需要认识这些类即可创建对象使用。

                   方式二:我们需要自定义类,通过自定义类创建对象。

四、自定义类三步骤:

1、  自定义一个类。

class 类{

         事物的公共属性使用成员变量描述。

         事物的公共行为使用函数描述。

}

2、  可以通过类创建对象。

3、  访问(设置)对象的属性或者调用对象的方法。

五、成员变量与局部变量的区别:

1、  自定义的位置区别:

(1)      成员变量是定义在方法之外,类之内的变量。

(2)      局部变量是声明在方法之内的变量。

2、  作用上的区别:

(1)      成员变量的作用是描述一类事物的属性。

(2)      局部变量的作用是提供一个变量给方法内部使用的。

3、  生命周期的区别:

(1)      成员变量随着对象的创建而存在,随着对象的消失而消失。

(2)      局部变量时调用到了对应的方法执行到了创建该变量的语句时存在,一旦出了自己的作用域马上从内存消失。

4、  初始值的区别:

(1)      成员变量是有默认的初始值的。

(2)      局部变量是没有默认的初始值的,必须要先初始化才能使用。

六、匿名对象:没有引用类型变量指向的对象就称作为匿名对象。

七、匿名对象要注意的细节:

1、  一般不会给匿名对象的属性赋值,因为永远都无法获取到。

2、  两个匿名对象永远都不可能是同一个对象。

八、匿名对象好处:简化书写。

九、匿名对象的应用场景:

1、  如果调用一个对象的方法一次时,然后这个对象就不再使用,那么这时候可以匿名对象。

2、  可以作为实参调用一个函数。

十、封装:将对象的属性和行为封装起来,其载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想。

十一、封装的步骤:

1、  使用private修饰需要被封装的属性。

2、  根据需要提供get或者set方法设置以及获取属性。

十二、封装的好处:

1、  提高了数据的安全性。

2、  操作简单。

3、  隐藏了实现。

注意:一般实体类的属性我们都会封装起来。

构造函数:

         构造函数的作用:初始化对应的对象。

         构造函数的格式:

                   修饰符     函数名(形式参数){

                            函数体

}

         构造函数要注意的事项:

(1)      构造函数是没有返回值类型的。

(2)      构造函数的函数名是必须与类名一致。

(3)      构造函数不是由我们手动调用的,是我们在创建了对应的对象时,jvm会根据你创建的对象传递的参数调用对应的对象。

(4)      如果一个类没有显示写上一个构造函数的时候,那么java编译器会为该类添加一个无参的构造函数。

(5)      如果一个类已经显示写上一个构造函数的时候,那么java编译器则不会再为该类添加一个无参的构造函数。

(6)      构造函数是可以以函数重载的形式存在多个。

构造代码块:

         构造代码块的作用:给对象进行统一的初始化。

         构造代码块的格式:

                   {

                            代码;

}

         构造代码块是在创建了代码块所属类的对象时调用一次。

this关键字:

         this关键字代表了所属函数的调用者对象。

         this关键字的作用:

(1)      一个类中存在同名的成员变量与局部变量时,在方法的内部默认是访问局部变量的,可以通过this关键字指定访问成员变量得数据。

(2)      this关键字还可以在构造函数中调用另外一个构造函数初始化对象。

this关键字调用构造函数要注意的事项:

(1)      this关键字调用其他的构造函数时,必须要是在第一个语句。

(2)      this关键字调用构造函数时不能出现相互调用,因为是一个死循环。

(3)      如果在方法的内部访问一个变量时,该变量只存在于成员变量中,局部变量没有,这时候java编译器会为该变量前面添加一个this关键字。

static (静态、修饰符)

         static修饰成员变量时:static修饰成员变量时,那么该成员变量的数据就是一个共享的数据。

                   静态成员变量的访问方式:

                            方式一:使用对象进行访问。

                                     对象.属性名

                            方式二:可以使用类名进行访问

                                     类名.属性名

                   注意:

(1)      非静态成员变量不能类名直接访问,只能使用对象进行访问。

(2)      千万不要为了方便访问成员变量而使用static修饰,一定要是该数据是共享数据时才使用static修饰。

static修饰方法(静态的成员方法):

         访问方式:

                   方式一:可以使用对象进行访问。

                            对象.静态的函数名();

                   方式二:可以使用类名进行访问。

                            类名.静态函数名字()。

         推荐使用是类名直接访问静态方法

静态函数要注意的事项:

(1)      静态函数是可以调用类名或者对象进行调用的,而非静态函数只能使用对象进行调用。

(2)      静态的函数可以直接访问静态的成员,但是不能直接访问非静态的成员。

原因:静态函数是可以使用类名直接调用的,这时候可能还没有存在对象,而非静态的成员数据是随着对象的存在而存在的。

(3)      非静态的函数是可以直接访问静态与非静态的成员。

原因:非静态函数只能由对象调用,当对象存在的时候,静态数据老早就已经存在了,而非静态数据也随着对象的创建而存在了。

(4)      静态函数不能出现this或者super关键字。

原因:因为静态的函数是可以使用类名调用的,一旦使用类名调用这时候不存在对象,而this关键字代表了一个函数的调用者对象,这时候产生了冲突

静态代码块:静态代码块是类名.class文件加载到内存的时候就马上执行的.

静态的数据的生命周期:

                   静态的成员变量数据是优先于对象存在的。

                   /*静态方法与非静态方法的字节码文件是同时存在内存中的,只是静态的成员变量数据是优先于对象存在而已*/

 

单例设计模式:保证一个类在内存中只有一个对象。

饿汉单例设计模式:

1、  私有化构造函数。

2、  声明本类的引用类型变量并且指向本类的对象,(private static)

3、  提供一个公共静态的方法获取本类对象。

懒汉单例设计模式:

1、  私有化构造函数。

2、  声明本类的引用类型变量,但是不要创建对象。

3、  提供一个公共静态的方法获取本类对象,获取之前先判断是否已经创建了本类的对象,如果没有创建,创建再访问。如果已经创建了,那么直接访问即可。

 

继承:

         继承的格式:

                   class类名1 extends 类名2{

}

         继承要注意的事项:

1、  父类私有的成员不能被继承。

2、  父类的构造函数不能被继承。

3、  创建子类对象时,默认会先调用父类的无参构造函数,然后再调用子类的构造函数。

super 关键字:super关键字代表的是父类的引用空间。

         super关键字的作用:

1、  如果子父类存在同名的成员时,在子类中默认是访问子类的成员,可以通过super关键字指定访问父类的成员。

2、  创建子类对象时,默认会先调用父类的无参构造函数,可以通过super关键字指定调用父类的构造函数。

super 关键字要注意的事项:

1、  如果在子类的构造函数中没有指定调用具体父类构造函数,那么java编译器会在子类的构造函数上添加super();

2、  super 关键字调用构造函数时必须出现构造函数中第一个语句。

3、  this 与super调用构造函数的时候不能同时出现在一个构造函数中,因为都需要是第一个语句。

方法重写:子父类存在着同名的函数。

方法重写的需求:如果父类的功能无法满足子类的需求,那么就进行重写。

方法重写的要求:

1、  函数名与形参列表必须一致。

2、  子类的权限修饰符必须大于或者等于父类的权限修饰符。

3、  子类的返回值类型必须小于或者等于父类的返回值类型。

4、  子类抛出的异常类型必须要小于或者等于父类抛出的异常类型。

instanceof 关键字:判断一个对象是否属于某种类型。

         instanceof关键字的使用格式:<

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值