第十章 封装

1.静态方法与实例方法的区别

静态方法:

public class test_p405 {public static void main(String[] args) {// TODO Auto-generated method stub//静态方法与实例方法的区别//静态方法要用“类名.方法名”的方式调用,实例方法要先new对象,再用“引用.”的方式去调用//静态方法的调用doSome();test_p405.doSome();//实例方法的调用test_p405 a1 = new test_p405();a1.doOther();}//静态方法public static void doSome() {System.out.println("do some!");}//实例方法(对象级别的方法)public void doOther() {System.out.println("do other!");}
}

静态方法:类相关,访问不了实例对象

实例方法:对象相关,必须现有对象才能访问

2.面向对象的三大特征:封装、继承、多态

3.什么是封装?

不再对外暴露复杂的数据,对外只提供简单的操作入口

4.怎么进行封装?

  • 属性私有化(使用private关键字进行修饰)
  • 对外提供set方法和get方法作为操作入口
public class test_p405 {public static void main(String[] args) {// TODO Auto-generated method stub//静态方法与实例方法的区别//静态方法要用“类名.方法名”的方式调用,实例方法要先new对象,再用“引用.”的方式去调用Person p1 = new Person();p1.setAge(150);System.out.println("年龄:" + p1.getAge());}
}class Person {private int age;//因为私有属性,需要提供一个访问入口//外部程序只能通过访问入口对数据进行读写//来完成读的方法(get)public int getAge() {return age;}//来完成写的方法(set)public void setAge(int a) {//设置关卡,判断输入的是否合法if(a<0 || a>100) {System.out.println("输入不合法,请重新输入");return;}age=a;}
}

第十章 this和static

1.static

  • 所有static修饰的都是类相关的,都是采用“类名.”的方式去访问的

静态变量举例:

class Chinese{

int id;

static String country=”中国”;//因为一个类中都是一样的

}

局部变量:栈

实例变量:堆内存

静态变量:方法区

2.什么时候定义成实例方法:

此方法描述了一个行为,该行为必须由对象去触发

方法体中访问了实例变量,一定是个实例方法

工具类当中的方法一般都是静态的

public class test_p417 {//thispublic static void main(String[] args) {// TODO Auto-generated method stubCustermer c1 = new Custermer("张三");c1.shopping();}}
class Custermer{String name;//构造方法(赋值),方法名必须和类名相同public Custermer() {}public Custermer(String a) {name = a;}//实例方法(动作),动作名不需要和类名相同public void shopping() {//c1调用shopping,this就是c1//c2调用shopping,this就是c2System.out.println(name + "在购物");}
}

3.静态代码块

语法:

static {

Java语句

}

静态代码块在类加载时执行并且只执行一次,自上而下的顺序执行且在main方法之前执行

4.this是一个关键字,全部小写

一个对象一个this,this是一个引用(保存当前对象的内存地址的变量,即this指向自身,代表当前对象),保存在堆内存中。

5.this只能使用在实例方法中,谁调用这个实例方法,this就是谁

Java笔记(P400/241-P427/269)相关推荐

  1. 11.3-全栈Java笔记:线程的生命周期

    一个线程对象在它的生命周期内,需要经历5个状态. 新生状态(New) 用new关键字建立一个线程对象后,该线程对象就处于新生状态.处于新生状态的线程有自己的内存空间,通过调用start方法进入就绪状态 ...

  2. 10.4-全栈Java笔记:常用流详解(二)

    上节我们讲到「Java中常用流:文件字节流和字节数组流」,本节我们继续走起~  缓冲流 BufferedInputStream和BufferedOutputStream这两个流是处理流,通过内部缓存数 ...

  3. java笔记之抽象类和接口

    前言 java笔记之抽象类和接口是开发人员的设计工具 正文 1.抽象类 客观存在的一类事物,当这类事物都是抽象的,无法具体的描述. 1)语法: 修饰符 abstract class 类名{ } 2)特 ...

  4. 9.1-全栈Java笔记: 容器泛型—认识Collection接口

    开发和学习中需要时刻和数据打交道,如果组织这些数据是我们编程中重要的内容. 我们一般通过"容器"来容纳和管理数据.   事实上,数组就是一种容器,可以在其中放置对象或基本类型数据. ...

  5. java笔记(3):String(2)

    java笔记(3):String(2) 参考资料:网易云网课李兴华:http://study.163.com/course/courseMain.htm?courseId=1455026 一.字符串一 ...

  6. 4.8-全栈Java笔记:包机制

    包机制是java中管理类的重要手段. 开发中,我们会遇到大量同名的类,通过包我们很容易对解决类重名的问题,也可以实现对类的有效管理. 包对于类,相当于,文件夹对于文件的作用. package 我们通过 ...

  7. Java笔记07-List、Set、数据结构、Collections

    Java笔记07-List.Set.数据结构.Collections 主要内容 数据结构 List集合 Set集合 Collections 第一章 数据结构 2.1 数据结构有什么用? 当你用着jav ...

  8. Java笔记05-Collection、泛型、迭代器

    Java笔记05-Collection.泛型.迭代器 [Collection.泛型] 主要内容 Collection集合 迭代器 增强for 泛型 第一章 Collection集合 1.1 集合概述 ...

  9. Java笔记04-核心类库

    Java笔记04-核心类库 Object类 1.1 常用的包 java.lang包 -该包是Java语言中的核心包,该包中的内容由Java虚拟机自动导入 如:String类,System类等java. ...

  10. Java笔记03-Constructor Override

    Java笔记03-Constructor & Override 构造方法基本概念 构造方法是类中的一种特殊方法 它是在类创建对象(实例化)的时候自动调用的方法 这个和python中的__ini ...

最新文章

  1. 实战 | keras-yolov3 + Kalman-Filter 进行人体多目标追踪(含代码)
  2. kafka彻底删除topic
  3. CodeForces - 353E Antichain(贪心+思维)
  4. ElasticSearch创建、修改、获取、删除、索引Indice mapping和Index Template案例
  5. 第五章 MyEclipse配置hadoop开发环境
  6. labelme 语义分割数据集_RangeNet++: 快速精确的雷达数据语义分割(IROS 2019)
  7. 目标检测第2步:如何在Windows 10下安装Anaconda?
  8. 网络协议:HTTPS
  9. java的Scanner类
  10. 机器学习-K近邻项目实战
  11. java hashmap 实现 序列化_java – Jackson JSON对象映射器反序列化为LinkedHashMap而不是HashMap...
  12. 项目lib上传maven仓库配置
  13. 一个关于超级英雄题材电影剧本的脑洞
  14. 进阶之路(基础篇) - 020 放弃Arduino IDE,拥抱Sublime Text 3
  15. python监控进程状态,python psutil监控进程实例
  16. 排序,求最大值最小值
  17. 轻量级日志收集转发 | fluent-bit指令详解(一)
  18. php 聊天室设计,基于PHP+MySQL的聊天室设计_PHP教程
  19. tpadmin的坑收集 nginx下配置tp5失败
  20. 成形滤波器(利用FDATOOL设计成形滤波器)

热门文章

  1. jdk-8u311-windows-x64.exe
  2. php 浮点数 正则表达式,PHP常用正则表达式
  3. 优思学院|关键路径方法CPM
  4. php7 apache mysql_Windows下安装php7+Apache2.4+MySQL
  5. AndroidSerialPort:安卓串口通信库
  6. win7 64位光驱不读盘
  7. 【小程序合集】哪个游戏可以陪你度过周末?
  8. 传奇计算机教室管理软件,【联想传奇电子教室怎么用】联想传奇电子教室好不好_使用技巧-ZOL软件百科...
  9. 怎样将PPT文件转换为Word文档精美ppt模板下载
  10. Python中WordCloud库超快安装方法