java面向对象的阶段总结

本文详细介绍了Java面向对象编程的基本概念,包括类、对象、构造方法、封装、继承和多态等核心知识点。解释了类作为对象的模板,以及如何通过new关键字创建对象。此外,还探讨了成员变量、局部变量、静态常量的区别,以及this和super的用法,final关键字的作用,抽象类和接口的概念。最后提到了静态方法和属性的使用场景。
摘要由CSDN通过智能技术生成

        自己总结了一些在学习面对对象的知识点。

        Java面向对象又称:面向对象程序设计(Object Oriented Programming)。其中类是面向对象程序设计中实现信息封装的基础,同时类也是一种用户定义的引用数据类型,也称为类类型。

        面向过程(POP)在于把所有事情按步骤执行,注重执行的细节,而面向对象(OOP)是将所有事情在需要的时候,让其对应的对象去执行。面向对象更注重创建解决问题的对象。

        类Class:是一系列拥有相同属性和行为的对象集合,同时也是对象的模板。

[修饰符]   class   类{
    //属性, 定义变量
    //例如: int num = 1;

    //行为,定义方法
    //public void fun(){
        System.out.println("Hello!");
    }
}

 

         创建对象:类名 对象名 = new 构造方法( [参数] )

      同时在类和方法中都会涉及到: 成员变量、局部变量、静态常量。

成员变量:定义在类中的变量,使用范围也在该类中,也称为这个类的属性,它有默认值,在对象创建的时候创建,通过对象访问。

整形默认值
整形0
浮点型0.0
布尔型false
字符型空字符 \u0000
引用类型null

局部变量:定义在方法之中,同时使用范围也在该方法当中。这里需要注意的是,局部变量是没有默认值的,所以需要在赋值后才能使用,并且在方法调用的时候创建。

静态常量:特殊的成员变量,使用范围在该类中,用static和final修饰,它通常需要在定义时赋值,在类加载时创建,通过类名方法。

class Person{

        //成员变量

        String name;        //默认值unll

        void fun(){

                //局部变量,需要赋值才能使用

                int  num = 10;

                System.out.println("num的值为:"+num)

        }

}

 

构造方法:是一种特殊的方法,方法名和类名相同,并且没有返回值。

 [访问修饰符]   类名(){

}

       1、在使用new关键字创建对象的时候,就已经自动调用对应的构造方法了,并且在每一个类定义之后,都隐藏了一个默认的无参数的构造方法。

        2、如果自己写了一个构造方法之后,那么默认的隐藏的无参数的构造方法就会失效。

        3、构造方法通常都会初始化成员变量。

        4、对于构造方法来说,都是重载的关系,因为构造方法不能重写。

        5、构造方法执行的时候,不一定会创建对象。(如抽象类中的构造方法,该构造方法只在创建其子类对象的时候自动调用)

 

面向对象的三大特性:封装、继承、多态、

        封装:使用private将类中的属性修饰后,就不允许非当前类进行访问,由此来达到保护核心代码的目的。

        继承:类A extends 类B  类A就是类B的子类 ,同时类A也能直接使用类B中的非私有成员。

        多态:在继承当中,子类的对象,可以保存到父类的变量中去。等到再调用方法的时候,调用的就是子类重写过的方法。

this和super:都可以当作对象或者构造方法来使用。

        this用来表示当前类的对象,super表示当前类的父类对象。需要注意的地方是,this和super都只能用在非静态的方法中。

final:用于修饰属性、方法和类

        修饰属性:变量为常量,不能改变其值。

        修饰方法:方法不能被重写。

        修饰类:类不能被继承。

abstract:用于修饰类和方法,表示抽象的。

修饰方法:该方法称为抽象方法,没有方法体,同时该方法所在类一定也要使用abstract修饰成为抽象类。

 1、抽象方法只能出现在抽象类中,不能出现在普通类中。

 2、抽象类中可以没有抽象方法

 3、抽象类中有构造方法,但该构造方法不能使用new调用,所以抽象类不能创建对象

 4、抽象类中的构造方法,在创建其子类对象时自动调用

 5、抽象类通常需要被继承,继承后子类一定要重写抽象类中的所有抽象方

 

interface:用于定义接口的关键字,代替原来的class,如果某一个抽象类中,全是抽象方法时,可以将该抽象类定义为一个接口。

         接口是一个完全抽象类。其中的方法都是公共的public抽象abstract方法,其中的属性都是公共的public 静态static常量final。在jdk1.8后,接口中可以定义默认default方法和静态static方法。

1、接口中的方法都是被public abastract修饰,可以不用写出来

2、接口中的属性都是被public static final修饰,可以不用写出来

3、jdk1.8后,可以在接口中定义default方法和static方法

4、接口通常需要一个类去实现,该类使用implements关键字实现接口。

5、实现了接口的实现类,要重写其中所有抽象方法

6、接口没有构造方法,不能实例化对象

 

static:可以修饰方法和属性,表示该方法或属性是静态的,在类加载时保存到内存中,无需对象参数,直接通过类名就能访问

        如果某个属性或方法被高度重用时,可以将其定义为静态的,之后直接通过类名调用。

        还可以在类中定义静态代码块static{}。在类加载时自动执行的代码块。

以上就本人在学习过程中的所理解掌握的知识,如有不足的地方,希望大家能够指出。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值