DAY05_面向对象基础

news/2024/10/21 7:40:24/

面向对象并不是一个技术,而是一种指导思想。

为什么要用面向对象编程?

因为生活中,我们解决问题时,就是采用这种指导思想去解决的。所以,我们写程序去解决问题时,如果也能采用这种指导思想就会使得程序变得非常简单,程序也便于人理解。

 

 什么是类

类是对现实生活中一类具有共同属性和行为的事务的抽象

什么是对象

是能够看得到摸得着的真实存在的实体

对象的属性和行为

属性:对象具有的各种特征,每个对象的每个属性都拥有特定的值

行为:对象能够执行的操作

 类的定义

类是什么:是对现实生活中一类具有共同属性和行为的事物的抽象,确定对象将会拥有的属性和行为

类的组成:属性和行为

属性:在类中通过成员变量来体现(类中方法外的变量)

行为:在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可)

定义类:

 定义类编写类的成员变量

 编写类的成员方法

 

 对象的使用

 

 Java内存分配

Java 程序在运行时,需要在内存中分配空间。为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。

栈:所有局部变量都会在栈内存中创建

局部变量:定义在方法中的变量或者方法声明上的变量

方法执行都会加载到栈中进行

局部变量特点:随着方法的调用而存在,随着方法的调用完毕而消失

代码:Student s = new Student();

堆:所有对象及其对应的实例变量和数组都将存储在此处

简单理解为:new出来的东西,都存储在堆内存

每一个new出来的东西都有一个地址值,使用完毕,会在垃圾回收器空闲时被回收

实例变量(成员变量)有初始化值:

基本数据类型:整数:0,浮点数:0.0,布尔:false,字符:空字符

引用数据类型:null

 

 

 

private关键字

是一个权限修饰符

可以修饰成员(成员变量和成员方法)

作用是保护成员不被别的类使用,被 private 修饰的成员只在本类中才能访问

针对 private 修饰的成员变量,如果需要被其他类使用,提供两个相应的操作:

提供get变量名()方法,用于获取成员变量的值,方法用 public 修饰

提供set变量名(参数)方法,用于设置成员变量的值,方法用 public 修饰

this关键字

① this限定的变量用于指代成员变量

方法的形参如果与成员变量同名

不带this修饰的变量指的是形参,而不是成员变量

方法的形参没有与成员变量同名

不带this修饰的变量指的是成员变量

② 什么时候使用this呢?解决局部变量隐藏成员变量

this方法被哪个对象调用,this就代表哪个对象

封装

1. 封装概述

l 是面向对象三大特征之一( 封装,继承,多态
l 是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界是无法直接操作的

2. 封装原则

l 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
l 成员变量 private ,提供对应的 getXxx ()/ setXxx () 方法

3. 封装好处

l 通过方法来控制成员变量的操作,提高了代码的安全性
l 把代码用方法进行封装,提高了代码的复用性

 

 

 


http://www.ppmy.cn/news/51722.html

相关文章

OpenGL光照:颜色

知识点归纳 现实世界中有无数种颜色,每一个物体都有它们自己的颜色。我们要做的工作是使用(有限的)数字来模拟真实世界中(无限)的颜色,因此并不是所有的现实世界中的颜色都可以用数字来表示。然而我们依然可以用数字来代表许多种颜色,并且你甚…

Linux中vim常用命令

记录下来,下次忘了好找。 一些常用命令 保存退出 :wq 不保存退出 :q 不保存强制退出 :q! esc进入普通模式 用Vim写一个文件,写完保存退出的流程 1.编辑文件,若文件已存在,则存放于原文件;若文件不存在&…

20230422 | 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142. 环形链表 II

1、24. 两两交换链表中的节点 初始时,cur指向虚拟头结点,然后进行如下三步: 操作之后,链表如下: 看这个可能就更直观一些了: /*** Definition for singly-linked list.* public class ListNode {* i…

【MyBatis基础】SpringBoot集成MyBatisPlus的基于字段隔离的多租户实现

文章目录 1. 多租户在数据存储上的实现方式2. 基于字段的隔离方式实践3. 补充 摘要:多租户的含义是让多用户共用相同的系统或组件,但是又能保证各个用户之间数据是隔离的。多租户技术可以实现多个租户共用系统实例,而且同时能实现系统实例的个…

Bean作用域和生命周期

修改的Bean案例 User: package com.bean;import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Controller;public class User {private int id;private String name;Overridepublic String toString() {return "Use…

Tomcat 配置与部署

http 协议就是 http 客户端和 http 服务器之间通信的协议 , 而Tomcat 就是 java 圈子中最广泛使用的 http 服务器. 下载Tomcat Tomcat官网 Tomcat 的版本 , 和后续的 servlet 版本是强相关的 , 此处使用 tomcat 8 , 对应的 servlet 就是 3.1 下载一个 zip 压缩包解压缩即可 T…

什么蓝牙耳机适合学生党?学生党蓝牙耳机性价比排行

现如今,市场上有各种各样的品牌和蓝牙耳机,让人在选择时不免眼花缭乱。作为学生党,在选择一样东西的时候,性价比无疑会成为其选择的重要参考因素。下面,我来给大家分享几款适合学生党的高性价比蓝牙耳机,一…

通达信结构紧凑形态选股公式编写思路

在威廉欧奈尔的《笑傲股市》、马克米勒维尼的《股票魔法师》等书籍中都有结构紧凑形态的相关描述,股票在形成基底时,价格波动幅度逐渐减小,量能逐步萎缩,同时价格相对强度较高。 结构紧凑的形态通过眼睛观察,一般可以…