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 }
温馨提示
- 如果您对本文有疑问,请在评论部分留言,我会在最短时间回复。
- 如果本文帮助了您,也请评论关注,作为对我的一份鼓励。
- 如果您感觉我写的有问题,也请批评指正,我会尽量修改。