博客
关于我
【Java基础】什么是面向对象?
阅读量:797 次
发布时间:2023-02-10

本文共 1505 字,大约阅读时间需要 5 分钟。

Java面向对象基础入门

面向对象编程是一种基于对象的编程范式,强调将现实世界中的事务抽象为程序设计中的“对象”。它以“一切皆为对象”为核心思想,采用“自下而上”的设计方式,即先设计组件,再进行组件拼装。

类的基础

  • :定义一个对象的基本模板,用于创建对象。类似于蓝图,决定了对象的属性和行为。
  • 引用数据类型:类似于自定义的数据类型,可以看作是对象的引用。每个对象都有独立的引用地址。

对象的成员

  • 成员:属于对象的属性,随对象而消亡。每个对象都可以有不同的成员属性。
  • 局部变量:存在于代码块中,与对象无关。成员变量在对象消亡时也随之消失。

this关键字

  • this:指向当前对象的成员变量,用于区分局部变量和成员变量。在成员方法中,隐含this传参。
  • 注意事项:static方法没有隐含的this传参,若要访问成员变量需通过对象创建。

构造方法

  • 构造方法:方法名必须与类名一致,new操作自动调用。无法用普通方法调用,返回值类型可以是任何类型。
  • 构造方法重载:允许在不同参数类型下定义多个构造方法。
  • 构造方法的赋值:构造器的赋值操作是最可靠的,值会在最后执行。

static修饰符

  • 静态属性:属于类而非对象,所有对象共享。静态成员在类加载时创建,仅有一份。
  • 静态变量:存放在方法区中,属于全体对象。成员变量存放在堆内存中。
  • 访问方式:通过类名.的形式访问,不建议通过对象名。
  • 注意事项:不存在静态的局部变量。

匿名对象

  • 匿名对象:没有引用指向,直接用new创建。常用于方法参数和返回值。
  • 使用场景:一次性使用后会被回收,无法再次访问。

代码块

  • 局部代码块:用于优化内存管理,限制局部变量的生命周期。
  • 构造代码块:定义在类成员位置,随构造器执行。赋值顺序遵循定义顺序。
  • 静态代码块:在类加载时执行,不能调用非静态成员。静态代码块和构造代码块的赋值顺序一致。

导包与访问权限

  • 导包:使用智能导入,方便开发。import包名.*;可选,需确保不导入无用类。
  • 访问权限修饰符:public、protected、default、private。默认权限仅限同包类访问。

多态

  • 多态条件:父类引用指向子类对象,且有方法重写。
  • 成员变量访问:编译时看左边,运行时看左边。
  • 成员方法访问:编译时看左边,运行时看右边。
  • 向上转型:子类引用转父类引用,不出问题。
  • 向下转型:需确认子类类型。使用instanceof判断。

抽象类

  • 抽象类:可以定义抽象方法,必须被子类重写。抽象方法没有方法体。
  • 抽象类特点:不能创建对象,但可以有构造器。子类继承抽象类不需重写所有方法。
  • 成员变量和方法:抽象类可以有普通成员和静态成员。

接口

  • 接口:访问权限只有public和默认。可以多继承,抽象类继承接口可不重写。
  • 接口成员:方法默认public abstract,成员变量默认全局常量,需显式赋值。
  • 静态方法和默认方法:接口中可以有。接口和接口之间可以多继承。

内部类

  • 成员内部类:可以访问外围类成员,直接使用外围类对象和类名。
  • 外围类访问内部类:需创建内部类对象。静态方法需创建外围类对象。
  • 局部内部类:定义在方法或作用域中,无法访问外部类成员。

lambda表达式

  • lambda表达式:特殊的匿名内部类,用于实现接口。语法简洁,灵活性高。
  • 使用场景:方法传递或返回函数。形参列表可简化,方法体可省略。
  • 方法引用:格式为接口名::方法名。适用于函数组合和高阶函数。

通过以上知识,可以更好地理解Java面向对象编程的核心概念。面向对象不仅仅是对象的操作,更是如何通过类和继承实现代码复用和抽象。掌握这些概念,有助于写出更高效、可维护的代码。

转载地址:http://yfbfk.baihongyu.com/

你可能感兴趣的文章
Mysql 优化 or
查看>>
mysql 优化器 key_mysql – 选择*和查询优化器
查看>>
MySQL 优化:Explain 执行计划详解
查看>>
Mysql 会导致锁表的语法
查看>>
mysql 使用sql文件恢复数据库
查看>>
mysql 修改默认字符集为utf8
查看>>
Mysql 共享锁
查看>>
MySQL 内核深度优化
查看>>
mysql 内连接、自然连接、外连接的区别
查看>>
mysql 写入慢优化
查看>>
mysql 分组统计SQL语句
查看>>
Mysql 分页
查看>>
Mysql 分页语句 Limit原理
查看>>
MySql 创建函数 Error Code : 1418
查看>>
MySQL 创建新用户及授予权限的完整流程
查看>>
mysql 创建表,不能包含关键字values 以及 表id自增问题
查看>>
mysql 删除日志文件详解
查看>>
mysql 判断表字段是否存在,然后修改
查看>>
MySQL 到底能不能放到 Docker 里跑?
查看>>
mysql 前缀索引 命令_11 | Mysql怎么给字符串字段加索引?
查看>>