JAVA面向对象学习笔记(1)

版权声明:未经本人允许,不得转载本博客,转载请注明地址 https://blog.csdn.net/qq_34691713/article/details/81458323

1.Static关键字

  特点: 1.一个类的多个对象共享,节省资源空间

               2.随着类的加载而加载

               3.可以通过类名调用

注意事项:

             1.静态方法不可以访问非静态变量(因为静态方法是随着类的加载而加载,有可能调用静态方法的时候,还没有创建对象,非静态变量就加载不进来,导致错误)

              2.非静态方法既可以访问非静态的,也可以访问静态的。

静态变量和成员变量的区别

             A:所属不同

                    *静态变量属于类,所以也叫类变量

                    *成员变量属于对象,也叫对象变量或实例变量

            B:内存中位置不同

                   *静态变量存储于方法区的静态区

                   *成员变量存储于堆内存

           C:内存中出现的时间不同

                   *静态变量随着类的加载而加载,随着类的消失而消失

                   *成员变量随着对象的创建而存在,随着对象的消失而消失

           D:调用不同

                   *静态变量可以通过类名调用,也可以通过对象调用

                  *成员变量必须由对象调用

2.main方法(主方法)格式解释

代码实例:class demo {

                         public static void main(String[] args){

                                     }

                                          }

解释: 1.public 被jvm调用,访问权限大一些好

             2.static 被jvm调用,不需要创建对象

             3.void 被jvm调用,不需要有任何返回值

             4.main 这样写才能被jvm识别,main不是关键字

             5.String[] args 接收命令行参数的(dos下传入参数)

3.面向对象三大特性

封装

·         封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法来改变它内部的数据。JAVA中,修饰符有三种,public,private和protected.每一种修饰符给其他位于同一包中或不同包中的对象设置了不同的访问权限。

·        好处: ①通过隐藏对象的属性来保护对象内部的状态 ②提高了代码的可用性和可维护性,因为对象的行为可以被单独的改变或者是扩展 ③禁止对象之间的不良交互提高模块化

多态

·        多态是编程语言给不同底层数据类型做相同的接口展示的一种能力,一个多态类型上的操作可以应用到其他类型的值上面

继承

·        继承给对象提供了从基类获取字段和能力的方法。继承提供了代码的重用性。也可以在不修改类的情况下给现存的类添加新特性,但是提高了类的耦合性。

特点:JAVA只支持单继承,不支持多继承。

注意事项:a:子类只能继承父类所有的非私有成员(成员方法和成员变量)(相同成员变量就近原则)

                    b:子类不能继承父类的构造方法,可以通过super关键字去访问父类构造方法

                    c:为了部分功能去继承不值得

抽象

·        抽象是把想法从具体的实例中分离出来的思想,因此,要根据他们的功能而不是实现细节来创建类,Java支持创建只暴露接口不包含方法实现抽象的类。这种抽象技术的主要目的是把类的行为和实现细节分离开。

抽象和封装的异同

·        抽象和封装是互补的概念,抽象关注对象的行为。另一方面,封装关注对象行为的细节。一般是通过隐藏对象内部状态做到封装,封装可以堪称是用来提供抽象的一种策略

猜你喜欢

转载自blog.csdn.net/qq_34691713/article/details/81458323