当前位置:   article > 正文

Java---面向对象_类的方法的修饰符static是静态的,表示该方法不依赖于对象实例

类的方法的修饰符static是静态的,表示该方法不依赖于对象实例

一、 类和对象

:一组相关的属性和行为的集合,是一个抽象的概念。

对象:该类事物的具体表现形式,具体存在的个体。

成员变量:事物的属性

成员方法:事物的行为

1.1、面向过程与面向对象

面向过程——步骤化

        分析出实现需求所需要的步骤,通过函数(方法)一步一步实现这些步骤,接着依次调用;

面向对象——行为化

        面向对象是把整个需求按照特点、功能划分,将这些存在共性的部分封装成类(类实例化后才是对象),创建了对象不是为了完成某一个步骤,而是描述某个事物在解决问题步骤中的行为;

1.2、 面向过程和面向对象的优缺点

面向过程

优点:性能上它是优于面向对象的,因为类在调用的时候需要实例化,开销过大。

缺点:不易维护、复用、扩展

面向对象

优点:易维护、易复用、易扩展,由于面向对象有封装继承多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护。

缺点:一般来说性能比面向过程低。

低耦合简单理解就是,模块与模块之间尽可能的独立,两者之间的关系尽可能简单,尽量使其独立的完成成一些子功能,这避免了牵一发而动全身的问题。

1.3、 访问权限修饰符 public、private、protected, 以及不写(默认)时的区别

访问权限子类其他包
public
protect
default
private

public:公共的,可以被项目中所有的类访问。

protected:受保护的,可以被这个类本身访问;被同一个包中的类访问;被它的子类(同一个包以及不同包中的子类)访问。

default:默认的,可以被这个类本身访问;被同一个包中的类访问。

private:私有的,只能被这个类本身访问。

1.4、 static 关键字

    static可以用来修饰类的成员方法、类的成员变量,被 static 关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。也就是说,即使没有创建对象也可以进行调用(方法/变量)

    static 相关特点:

1、static 是修饰符,可以修饰成员和方法。

2、static修饰的成员被所有的对象所共享。

3、static优先于对象存在,因为static的成员随着类的加载就已存在。

4、static修饰的成员多了一种调用的方式,用类名直接调用。类名.静态成员。

5、static修饰的是共享数据,对象中存储的是特有的数据。

1.5、 静态方法

        static 修饰的方法一般叫做静态方法,静态方法不依赖于对象访问,因此没有 this 的概念(this 代表所在类的对象引用),正因如此静态方法能够访问的成员变量和成员方法也都必须是静态的。

        例如:在静态方法 A 中 调用了非静态成员 B,如果通过 类名.A 访问静态方法 A,此时对象还不存在,非静态成员 B 自然也根本不存在,所以就会有问题。调用非静态方法 C 也是如此,你不清楚这个方法 C 中是否调用了非静态变量

1.6、 静态变量

        static 修饰的变量也称作静态变量,静态变量属于类,所以也称为类变量,存储于方法区中的静态区,随着类的加载而加载,消失而消失,可以通过类名调用,也可以通过对象调用。

使用注意:

    静态方法只能访问静态成员。

    静态方法中不能写this,super关键字。

    mian主函数是静态的。

二.、面向对象三大特征

2.1 封装

2.1.1、封装的概念:

        封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。简单的来说就是我将不想给别人看的数据,以及别人无需知道的内部细节, “锁起来” ,我们只留下一些入口,使其与外部发生联系。

2.1.1、封装的优点:

        1、隐藏实现细节,提供公共的访问方式;

        2、提高了代码的复用性;

        3、提高安全性。

2.2 继承

2.2.1、继承的概念:

        继承就是在一个已有类的基础上派生出新类,子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

2.2.2、继承的优点:

        提高了代码的复用性,提高了代码的维护性(通过少量的修改,满足不断变化的具体要求),让类与类产生了一个关系,是多态的前提。

2.2.3、继承的缺点:

        让类的耦合性增强,这样某个类的改变就会影响其他和该类相关的类。

2.2.4、继承的特点:

        Java只支持单继承,不支持多继承,但是Java支持多层继承体系。简单的说就是:儿子继承爸爸,爸爸继承爷爷,儿子可以通过爸爸继承爷爷。

注意:

A: 子类只能继承父类所有非私有成员(成员方法和成员变量)

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

C: 不要为了部分功能而继承(多层继承会使得子类继承多余的方法)

2.3 多态

多态概念:

        是同一个行为具有多个不同表现形式或形态的能力,例如:"+"在字符串中可表示连接作用,而在数字计算中表示叠加作用。

1.对象类型和引用类型之间存在着继承(类)/ 实现(接口)的关系;

2.当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法;

3.如果子类重写了父类的方法,最终执行的是子类覆盖的方法,如果没有则执行的是父类的方法。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号