![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面向对象编程
文章平均质量分 73
我是东山阿
这个作者很懒,什么都没留下…
展开
-
面向对象编程-高级(四)-接口、内部类
一、接口1.1 为什么有接口1.2 接口快速入门public interface UsbInterface { //接口 //规定接口的相关方法,老师规定的.即规范... public void start(); public void stop();}public class Camera implements UsbInterface{//实现接口,就是把接口方法实现 @Override public void start() { System.out.println(原创 2021-09-24 00:09:48 · 124 阅读 · 0 评论 -
面向对象编程-高级(三)-抽象类、final
一、final 关键字1.1 基本介绍 //如果我们要求 hi 不能被子类重写 //可以使用 final 修饰 hi 方法 public final void hi() {}//当不希望类的的某个属性的值被修改,可以用 final 修饰public final double TAX_RATE = 0.08;//常量//当不希望某个局部变量被修改,可以使用 final 修饰//这时,NUM 也称为 局部常量 final double NUM = 0.01;1.2 final 使用原创 2021-09-23 22:58:13 · 55 阅读 · 0 评论 -
面向对象编程-高级(二)-代码块
一、代码块1.1 基本介绍1.2 基本语法1.3 代码块的好处和案例演示下面的三个构造器都有相同的语句这样代码看起来比较冗余这时我们可以把相同的语句,放入到一个代码块中,即可当我们不管调用哪个构造器, 创建对象,都会先调用代码块的内容代码块调用的顺序优先于构造器…{ System.out.println("需要执行的冗余代码1..."); System.out.println("需要执行的冗余代码2..."); System.out.println("需要执行的冗余代码原创 2021-09-23 17:03:31 · 45 阅读 · 0 评论 -
面向对象编程-高级(一)-类变量和类方法
一、 类变量和类方法1.1 类变量/静态属性1.1.1 类变量-提出问题提出问题的主要目的就是让大家思考解决之道,从而引出我要讲的知识点.说:有一群小孩在玩堆雪人,不时有新的小孩加入,请问如何知道现在共有多少人在玩?,编写程序解决。1.1.2 传统的方法来解决1.1.3 类变量快速入门思考: 如果,设计一个 int count 表示总人数,我们在创建一个小孩时,就把 count 加 1,并且 count 是所有对象共享的 就 ok 了!我们使用类变量来解决改进。//定义一个变量 count原创 2021-09-23 16:13:14 · 83 阅读 · 0 评论 -
面向对象编程-中级(四)-Object 类详解
一、Object 类详解1.1 equals 方法’==’ 和 ‘equals’ 的对比1.1.1 String重写equals方法源码/* //带大家看看 Jdk 的源码 String 类的 equals 方法 //把 Object 的 equals 方法重写了,变成了比较两个字符串值是否相同 */public boolean equals(Object anObject) { if (this == anObject) {//如果是同一个对象 return true;//返回 t原创 2021-09-23 15:11:23 · 98 阅读 · 0 评论 -
面向对象编程-中级(三)-方法重写、覆盖、多态、动态绑定机制
一、方法重写/覆盖(override)1.1 基本介绍1.2 快速入门public class Animal { public void cry() { System.out.println("动物叫唤.."); }}public class Dog extends Animal{ //1. 因为 Dog 是 Animal 子类 //2. Dog 的 cry 方法和 Animal 的 cry 定义形式一样(名称、返回类型、参数) //3. 这时我们就说 Dog 的 cr原创 2021-09-23 09:51:17 · 129 阅读 · 0 评论 -
面向对象编程-中级(二)-封装、继承、super
一、面向对象编程三大特征1.1 基本介绍面向对象编程有三大特征:封装、继承和多态。二、面向对象编程-封装2.1 封装介绍2.2 封装的理解和好处2.3封装的实现步骤 (三步)2.4 快速入门案例class Person { public String name; //名字公开 private int age; //age 私有化 private double salary; //.. //构造器 alt+insert public Person() { }原创 2021-09-23 08:42:51 · 87 阅读 · 0 评论 -
面向对象编程-中级(一)-包、访问修饰符
一、包1.1 看一个应用场景1.2 包的三大作用1.3 包基本语法1.4 包的本质分析(原理)1.6 包的命名1.7 常用的包一个包下,包含很多的类,java 中常用的包有:java.lang.* //lang 包是基本包,默认引入,不需要再引入.java.util.* //util 包,系统提供的工具包, 工具类,例如 Scannerjava.net.* //网络包,网络开发java.awt.* //是做 java 的界面开发,GUI1.原创 2021-09-23 07:22:00 · 61 阅读 · 0 评论 -
面向对象编程-基础(四)-构造方法/构造器
一、构造方法/构造器1.1 构造器介绍我们来看一个需求:前面我们在创建人类的对象时,是先把一个对象创建好后,再给他的年龄和姓名属性赋值,如果现在我要求,在创建人类的对象时,就直接指定这个对象的年龄和姓名,该怎么做? 这时就可以使用构造器。1.2 基本语法[修饰符] 方法名(形参列表){ 方法体;}构造器的修饰符可以默认,也可以是public,protected,private构造器没有返回值方法名和类名字必须一样参数列表和成员方法一样的规则构造器的调用, 由系统完成1.2 基原创 2021-09-22 21:38:53 · 184 阅读 · 0 评论 -
面向对象编程-基础(三)
一、方法递归调用(非常非常重要,比较难)1.1 基本介绍简单的说: 递归就是方法自己调用自己,每次调用时传入不同的变量.递归有助于编程者解决复杂问题,同时可以让代码变得简洁.1.2 递归能解决什么问题?1.3 递归举例打印问题阶乘问题1.3.1 打印问题public class Recursion01 { public static void main(String[] args) { //打印问题 T t1 = new T(); t1.test(4);//输出什么? n=原创 2021-09-22 18:44:24 · 73 阅读 · 0 评论 -
面向对象编程-基础(二)-传参机制
1、成员方法1.1 基本介绍在某些情况下,我们要需要定义成员方法(简称方法)。比如人类:除了有一些属性外( 年龄,姓名…),我们人类还有一 些行为比如:可以说话、跑步…,通过学习,还可以做算术题。这时就要用成员方法才能完成。现在要求对 Person 类完善。1.2 方法的调用机制原理:(重要!-示意图!!!)1.3 成员方法的好处提高代码的复用性可以将实现的细节封装起来,然后供其他用户来调用即可1.4 成员方法的定义访问修饰符 返回数据类型 方法名(形参列表..) { //方法体原创 2021-09-22 17:27:34 · 116 阅读 · 0 评论 -
面向对象编程-基础(一)-类与对象
1、类与对象1.1 看一个养猫猫问题张老太养了两只猫猫:一只名字叫小白,今年 3 岁,白色。还有一只叫小花,今年 100 岁,花色。请编写一个程序,当用户输入小猫的名字时,就显示该猫的名字,年龄,颜色。如果用户输入的小猫名错误,则显示 张老太没有这只猫猫。1.2使用之前技术解决单独的定义变量解决使用数组解决1.3 现有技术解决的缺点分析不利于数据的管理效率低===》 引出我们的新知识点 类与对象 哲学, 道家思想java 设计者 引入 类与对象(OOP) ,根本原因就是现有的技术原创 2021-09-22 14:45:37 · 319 阅读 · 0 评论