Java基础学习笔记(二) – 面向对象基础

  • 2019 年 10 月 7 日
  • 筆記

面向对象

一、面向对象概述  

  面向对象思想就是在计算机程序设计过程中,参照现实事物,将事物的属性特征、行为特征抽象出来,描述成计算机时间的设计思想。面向对象思想区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去操作实现。

  特点:将复杂的事情简单化,抽象化。

  三大基本特征:封装,继承,多态。(后面具体介绍)

  类和对象:类是属性(成员变量)和行为(成员方法)的集合,对象是类的一个实例。

public class oop {      int a; //a是一个成员属性    成员属性位于类中方法外      public void method(){          System.out.println("这是一个成员方法");      }  }

 

public class TestOop {      public static void main(String[] args){          oop oop1 = new oop();//实例化oop类为oop1对象          oop1.a = 1;//为成员属性赋值          oop1.method();//调用成员方法        }  }

  关于static静态关键字:用来修饰静态变量或方法。静态变量由于不属于任何实例对象,是属于类的,所以在内存中只会有一份,在类的加载过程中,JVM为静态变量分配一次内存空间。

  成员变量默认类型:

 

 

   内存:实例化的过程在栈内存中,实例化的对象存在于堆内存中,同时调用多个对象的方法时如果指向的是同一方法,方法只会保存一次,以节约内存空间。

  成员变量和局部变量:

  • 成员变量:位于类中方法外(堆内存),作用域类中,初始化时有默认值,实例化对象时生成,对象消失成员变量消失。
  • 局部变量:位于类方法中(栈内存),作用域方法中,无默认值,必须先定义赋值,才能使用,调用方法时生成,方法调用完毕消失。 

二、封装  

  封装会保护类中的成员属性,外部无法操作和修改,防止该类的代码和数据被其他类随意访问。必须通过指定的方式才能访问。

  作用:适当的封装可以让代码更容易理解和维护,也加强了代码的安全性。

  原则:保护成员属性,外部无法访问,若需访问,提供公共方法对其访问。

  封装步骤:

    • 使用private关键字来修饰成员变量。(private是一个权限修饰符,表示最小权限,用来修饰成员变量和成员方法,被private修饰后的成员变量和成员方法,只有在本类中才能访问。)
    • 若需访问成员变量,提供相应类方法。

  void关键字表示方法返回结果类型。(无return时写void)

  this关键字表示类的当前对象的引用。

  构造方法:当一个对象被创建时,构造方法用来初始化该对象,给对象的成员变量赋值初始值。 (构造方法可以被重载)

public class oop {      private int a; //a是一个私有成员变量        //构造方法      public oop(){};//原始构造方法(系统提供)      public oop(int a){//带参数构造方法(如果提供了构造方法,系统将不再提供无参构造方法)          this.a = a;      }        public int getA(){ //通过getA成员方法访问a          return a;      }      public void setA(int n) { //通过setA成员方法修改a          a = n;        }  }

 

  标准代码–JavaBean:是Java编写类的一种标准规范。要求类必须是具体的和公共的,并且具有无参构造方法,提供用来操作成员变量的set和get方法。

public class oop {      //成员变量      //构造方法      //无参(必须)      //有参(非必须)      //成员方法      //get      //set  }

 

温馨提示

  • 如果您对本文有疑问,请在评论部分留言,我会在最短时间回复。
  • 如果本文帮助了您,也请评论关注,作为对我的一份鼓励。
  • 如果您感觉我写的有问题,也请批评指正,我会尽量修改。