JavaOO(一)

一.学习概要

1.代码级别,OO语法的学习:

  • 内容多
  • 细节强
  • 略为枯燥

2.领会OO思想

  • 通过OO语法引出OO思想
  • 在项目中使用以达到熟练

二.结构化编程和面向对象编程

1.结构化编程

在程序设计的早期,程序用流程图和自顶向下的方法设计。将一个大的问题分解成更小的任务,然后为每一个任务编写一个过程。这种类型的程序设计被称为结构化编程。

2.面向对象编程

  • 20世纪70年代以后,面向对象编程开始流行。程序不是围绕着需要解决的任务来设计,而是围绕着解决问题中的对象来设计。
  • 建立对象模型,将问题域华为不同的对象去处理。

3.区别

  • 在结构化编程中,程序围绕着要解决的任务来设计。
  • 面向对象编程中,程序围绕着要解决问题域的对象来设计。
    这两种思想没有对错,只有适不适合。
    五星原则:开闭原则。一个好的设计可以任意地扩展但是不能对已有代码修改。

三.面向对象的解决方案

1.对象=属性+行为。属性是名词,行为是动词。只要具体存在的就是对象。

万物皆对象,对象应关注而产生。

四.什么是类和对象

具有相同属性和行为的对象的类型

1.类和对象的关系

类是对象的抽象,对象是类的实例
问题域-》对象-》类型

2.细节

  1. 当类是public的时候,类名和文件名必须保持一致。
  2. 并不是一个java文件编译出一个.class文件,而是一个类编译出一个.class文件。class文件的名字与类名保持一致。
  3. 属性可以不赋初值,因为在new 对象的时候会自动将属性初始化。整型:0;实型:0.0;布尔型:false;引用:null;char:ASCII码为0的不可见字符。
  4. 与局部变量或常量不同,属性拥有访问修饰符,就算不写也有默认的。public,protected,默认,private。
    private代表只能在本类中进行访问。
    5.如果外部需要操作私有属性,应该提供公共的访问器与修改器(一组特殊的方法get/set)。

3.JavaBean规范

必须为私有属性提供符合命名规范的set/get方法

4.隐式对象

this(当前对象),大部分情况下this可以省略。
哪个对象调用方法,this指代哪个对象

String name;
public void setName(String name){
    this.name=name;
}

5.建议:只要操作本类的属性调用本类的方法,加上this。

好处:
1. this有联想功能。
2. 对代码整体的把握更方便。

tips:如果属性中有布尔类型的,生成了set方法的话,要将isXXX()改为getXXX().

五.封装

1.类的组装

确认有哪些类,类由哪些属性和行为组成。

2.信息隐藏

  1. 访问修饰符
  2. 方法的实现(调用者不必要关心方法的具体实现)

六.对象的销毁

  1. 产生了对象,用完以后,自然要关心他的销毁。
  2. 如果一个对象没有任何引用,那么就具备了垃圾回收机制(GC)回收的条件。
  3. 主动通知GC回收对象,对象=null
    总结:引用计数,当指向对象的引用个数为0的时候,对象会被回收
    4.System.gc(),本方法只能通知GC。

七.访问对象的属性和方法

  1. 通过new关键字产生兑现,通过.调用方法和访问属性。
  2. this,当前类对象的引用。

八.使用包来组织

  1. 在项目开发中,我们通常会编写数目众多的类。如果不对这些类进行分门别类的存放和使用,就像我们不使用文件夹去管理众多的文件一样,在使用时会很困难和不方便,也会容易出现类的命名冲突问题。
  2. Java通过引入包的机制解决这些问题。
  3. 使用同一个包中的其他类可以不用import
  4. java.lang包中的类是被自动加载的,而不需要import。

这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值