Java学习 · 初识 面向对象深入一

面向对象深入

1.面向对象三大特征

a) 继承 inheritance

子类可以从父类继承属性和方法

子类可以提供自己的属性方法

b) 封装 encapsulation

对外隐藏某些属性和方法

对外公开某些属性和方法

c) 多态 polymorphism

适应变量的多种变化

1.1 封装

a)   为什么需要封装

隐藏对象内部的复杂性,只对外公开简单接口。便于外界调用,提高系统可扩展性、可维护性;

b)   实现封装

使用访问权限符

成员四种访问权限

  1. public 公共的

项目可见

  1. protected 受保护的

类本身访问

包内其他类访问

子类访问

  1. default 默认的(包可见)

类本身访问

包内其他类访问

  1. private 私有的

只被这个类本身访问

类的两种访问权限

  1. public

项目中所有类访问

  1. default

同一个包内的类访问

封装要点

  1. 类的属性的处理

a)     一般使用private,除非需要子类继承

b)    提供get/set访问属性,通常方法为public

c)     只用于本类的辅助方法 private

d)    希望其他类调用的方法public

1.2        继承

定义:类是对对象的抽象,继承是对一批类的抽象

意义:提高代码复用性

public class TestExtend {

public static void main(String[] args) {

Mammal a = new Mammal();

a.eat(); //从父类继承了eat();

a.pure();

}

}

public class Animal{

String name = "小脑斧" ;

int age = 2;

public void eat() {

System.out.println("吃饭");

}

}

public class Mammal extend Animal{

public void pure() {

System.out.println("吃奶");

}

}

其他

  1. Java只有单继承
  2. 所有类的公共父类为Object

1.3      方法的重写

a)   == 方法名、参数相同

b)   <= 返回值类型和异常类型子类小于父类

c)    >= 访问权限子类大于父类

Object类

Object类是所有类的基类,其中含有许多方法

1.示例:重写toString (默认返回包+类[email protected]哈希码)

  1. 2.    对象的比较 == 与equal

a)     ==

a)   比较两基本变量的值是否相同

b)   比较两个引用类型内存是否相同,是否指向同一对象

b)    Equal

a)   两对象内容是否相同

1.4      super关键字

b)   super是直接父类对象的引用

c)    可以通过super来访问父类中被子类覆盖的属性和方法

1.5      多态

多态性是OOP中一个重要特性,用来实现动态联编,就是程序的最终状态只有再执行过程才被决定而非编译期间决定

  1. 如何使用多态

a)     引用类型的两种类型

i.           编译时类型:声明时的类型决定

ii.           运行时类型:由对象实际类型决定

b)    多态存在的三个必要条件

i.           要有继承

ii.           要有方法重写

iii.           父类引用指向子类对象

示例

注意:引用类型的类型转换

1.6        final关键字

  1. final关键字可以来修饰变量、类、方法

a)     修饰变量:相当于定义了一常量,不可更改

b)    修饰方法:在子类中不能覆盖

c)     修饰类:无法被继承

原文地址:https://www.cnblogs.com/secoding/p/9495914.html

时间: 2024-10-01 07:17:27

Java学习 · 初识 面向对象深入一的相关文章

Java学习 &#183; 初识 面向对象基础一

面向对象基础 1.1面向过程与面向对象的区别 面向过程和面向对象二者都是思考问题的方式,再简单的事物时,可以线性思考时使用面向过程,但当事物较为复杂时,只能使用面向对象设计.但二者并不是对立的,在解决复杂问题时,通过面向对象的方式把握事物之间复杂的关系,方便分析整个系统:具体到微观时,仍然使用面向过程设计. 以开车为例,面向过程中思考 有一辆车 驾驶员上车 挂挡踩离合 车开动 而面向对象中思考 有车.驾驶员这两个个对象 车拥有挂挡离合这几个方法(还拥有属性,如性能外观) 人拥有挂挡踩离合这几个方

Java学习 &#183; 初识 面向对象基础二

Package 为什么需要使用package a)   解决类重名的问题 b)   便于管理类 怎么使用package a)   类的第一句非注释性语句 b)   命名:域名倒着写,再加上模块名 注意事项 a)   不要使用默认包 JDK主要包 Import 1.为什么需要使用包 2.import怎么使用 3.注意事项 4.静态导入 原文地址:https://www.cnblogs.com/secoding/p/9495903.html

Java学习之面向对象一

1 面向对象 1.1     理解什么是面向过程.面向对象 面向过程与面向对象都是我们编程中,编写程序的一种思维方式. l  面向过程的程序设计方式,是遇到一件事时,思考"我该怎么做",然后一步步实现的过程. 例如:公司打扫卫生(擦玻璃.扫地.拖地.倒垃圾等),按照面向过程的程序设计方式会思考"打扫卫生我该怎么做,然后一件件的完成",最后把公司卫生打扫干净了. l  面向对象的程序设计方式,是遇到一件事时,思考"我该让谁来做",然后那个"

Java学习之面向对象(概念性质) &lt;好程序员特训营&gt;

<A href="http://www.goodprogrammer.org/" target="blank">android培训</a>------我的java笔记,期待与您交流! 1.面向对象:三个特征:封装,继承,多态 2.开发过程:其实就是找对象使用.没有对象,就创建一个对象 3.类和对象的关系. 现实生活中的对象:张三 李四. 想要描述:提取对象中共性内容.对具体的抽象. 描述时:这些对象的共性有:姓名,年龄,性别,学习java功能

Java学习(一)--面向对象(一)

面向对象的思想一直指导者我们软件的分析.设计与开发.java语言是一种面向对象的语言,在学习java之前,先回顾一下面向过程和面向对象. 一面向过程 面向过程主张按功能来划分系统需求,每个功能都负责对数据进行一次处理,每个功能都接受一些数据.它最小的单位是函数,每个函数负责完成一个功能,整个系统由一个个函数组成,其中有一个主函数,作为程序的入口,主函数依次调用其他普通函数,普通函数之间依次调用,从而完成整个软件系统的功能,其实就是主函数负责把系统中的所有函数"串起来". 从上面的图中我

Java学习: 面向对象的使用与注意事项

面向对象的使用与注意事项 面向过程:当需要实现一个功能的时候,每一个具体的步骤都需要亲力,详细处理每一个细节面向对象:当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人,来帮我做事. 类与对象的关系 类是对一类事物的描述,是抽象的. 对象是一类事物的实例,是具体的. 类是对象的模板,对象是类的实例. 定义一个类,用来模拟“学生”事物.其中就有两组成部分: 属性(是什么): 姓名 年龄 行为(能做什么): 吃饭 睡觉 学习 对应到Java的类当中:成员变量(属性): Stri

java学习之面向对象(4)

之前介绍了java面向对象三大特性之一封装,现在来说说三大特性之一继承和抽象类.这些只是我个人的认识,不足之处还请见谅. 1. 继承是面向对象的三大特征之一,那么何为继承呢? 继承是指一个对象直接使用另一个对象的属性与方法,是通过extends关键字让类与类之间产生继承关系.而被继承的类称为父类,继承父类的类称为子类(派生类). //父类 class Animal { //如果属性需要被子类继承,那么可以使用protected关键字,方法也一样 protected String name; pr

Java学习之面向对象五

###01final关键字概念 * A: 概述 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承, 或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后, 就可以对其中的方法进行重写,那怎么解决呢? 要解决上述的这些问题,需要使用到一个关键字final,final的意思为最终,不可变. final是个修饰符,它可以用来修饰类,类的成员,以及局部变量. ###02final修饰类义 * A: final 修饰类 final修饰类

Java学习日记------面向对象①

1 package com.atguigu.java; 2 /* 3 理解1:人开门 4 面向过程:人 打开 门 5 面向对象: 6 人{ 7 打开(门){ 8 门.开开(): 9 } 10 } 11 12 门{ 13 开开(){ 14 } 15 } 16 */ 17 /*理解二:人把大象装冰箱 18 *面向过程:1)打开冰箱2)把大象装进去3)关闭冰箱门 19 *面向对象: 20 *人{ 21 * 打开(冰箱){冰箱.开开} 22 * 操作(大象){大象.进入(冰箱)} 23 * 关闭(冰箱)