静态修饰符 权限修饰符 设计模式 面向对象

一. 静态修饰符

1.static叫静态修饰符

2.用来修饰这个成员变量

      一个成员变量被static就叫静态成员变量,如果没有修饰非静态成员变量。

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

      静态变量的访问方式:

            1.用对象进行访问:

                  对象名.变量名

            2.还可以通过类名来访问

                  类名.变量名。

       使用注意点:

            1.千万不要认为方便就将所有的变量都用static修饰,只有当数据真正需要共享是才需要用static修饰。                               

            2.只有静态变量才能用类名方位,非静态变量只能用对象访问。

            3.局部变量不允许被static修饰。

3.用来修饰方法

       static 来修饰方法 :

       有点类似OC中的类方法 :

            1.只能用类名来调用

            2.类中是不允许访问属性。

       访问方式:

             1.可以通过对象来访问

                   对象.方法名();

             2.可以通过类名来访问

                    类.方法名();

                推荐使用类名调用。

4.static修饰方法的使用注意点:

        1.静态方法可以用对象和类名调用。非静态方法只能用对象来调用。

        2.静态方法是可以访问静态的成员变量,不能够访问非静态的成员变量。非静态方法中可以访问任何成员变量。

              原因:有可能静态方法被调用了,但是对象还没有被创建出来。

       3.静态方法可以直接访问静态方法,但是不能访问非静态方法.非静态方法是可以访问静态方法。

              原因:有可能静态方法被调用了,但是对象还没有被创建出来 ,非静态方法只能由对象调用。如果对象被创建出来,静态方法早就存在内存中了。

       4.静态方法中是不允许出现this关键字和super关键字this : 表示一个方法调用者对象。

               可能对象没有被创建出来。

5.特点 :

       静态的数据早于非静态的数据存在内存中。

6.什么情况下使用static来修饰方法:

        当一个方法不需要直接访问非静态数据,这个时候就可以用static修饰 (定义工具类)

二. 权限修饰符

1.权限修饰符: public : 公共的,公开的 权限是最大的,任何在任何情况下都可以调用

       private :私有的,权限是最小的 只能自己本类中访问

       protected :受保护的。

2.主函数为什么这么来定义

       为什么用public :

             main主方法是由jvm来调用的,jvm实际也是一个程序,为了保证jvm能够在任何情况下来调用主函数。

       static :

             如果没有static 这个时候调用主方法就需要通过对象来调用,jvm如果创建对象不知道该传递什么参数          所以为例避免麻烦,就将方法定义成静态的,这个时候就不需要考虑对象,直接类名调用就可以了。

       void:

             main是由jvm调用,返回值是给jvm ,jvm接收返回值没有任何意义,所以就不需要返回值。

       main :

             不是关键字,main以及约定好这个就叫入口

       args :

             用来接收程序运行时传递进来的参数。

三.设计模式

1.单例设计模式 : 一个类只能够创建一个对象出来

2.软件行业中设计模式有23中

      可能在java学习中会讲到如下设计模式:

           1.单例设计模式

           2.观察者设计模式

           3.模块设计模式(mvc)

           4.装饰设计模式

           5.工厂模式

3.设计模式 : 用来解决同一类问题的解决方案(固定的步骤)

       单例的设置步骤:

            1.创建一个对象把他设置为私有的静态成员变量,保证对象唯一

            2.把构造方法设置为私有的,防止new一个对象。

            3.定义一个公开的静态方法,返回值为上面的对象。

4. 饿汉单例设计模式

        保证对象唯一

        声明本类的引用变量, 并且把对象创建出来

        私有化构造方法 ,防止通过new来创建对象

        提供一个静态方法来接收唯一的对象

四. 面向对象

1.面向对象的三大特征:

       1.封装

       2.继承

       3.多态

2.三大特征之一 :封装

       权限修饰符 :

             public : 公共的 ,public修饰的成员变量和方法任何人都可以之间访问

             private : 私有的 ,private修饰的成员变量和方法只能在本类中访问。

       封装的步骤:

             1.使用private修饰需要封装的成员变量。

             2.提供一个公开的方法设置或者访问私有的属性

                   设置:通过set方法

                         命名规范:

                               set属性名();属性的首字母要大写

                   访问:通过get方法

                          命名规范:

                               get属性名();属性的首字母要大写

                  代码书写规范: java开发中一般类成员变量(属性),都是封装起来的。

3.问题:是不是所有的属性都需要由set和get方法?

      不一定,根据需求来定。

4.封装用于 :

              1.框架

              2.工具类。

5.封装好处:

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

          2.操作简单

          3.隐藏了方法的实现。

原文地址:https://www.cnblogs.com/youjiajin/p/6170228.html