java基础面向对象知识点概要

本文详细介绍了Java的面向对象特性,包括封装、继承和多态,讲解了类、对象、构造器、方法、关键字如static、final、this、super的使用。还涉及了Object类、包装类、深拷贝浅拷贝、单例模式、接口以及内部类等概念,全面阐述了Java的基础面向对象知识。
摘要由CSDN通过智能技术生成

面向对象与面向过程

面向对象与面向过程简介:

  • 所谓面向过程就是以功能行为为主体,强调的是实现的功能行为,而面向对象是以对象为主体,强调的是每一个对象,将功能行为封装进每一个对象,再由对象去实现功能行为。
  • 面向对象的三大特征:
    ①封装 (Encapsulation)
    ②继承 (Inheritance)
    ③多态 (Polymorphism)

Java基本元素:类和对象

类和对象:

  • 类是对一类事物的描述,是抽象的,概念上的定义。
  • 对象是实际存在的该类事物的每个个体,因为也被成为实例。
  • 举例:如人就是一个类,有名字,年龄这些属性,吃饭,睡觉这些行为。而如詹姆斯就是一个具体的人,名字詹姆斯,年龄34,具有吃饭睡觉,打篮球这些行为。
  • Java类及类的成员:Field = 属性 = 成员变量,Method = (成员)方法 = 函数

在这里插入图片描述

对象的创建和使用

创建对象语法: 类名 对象名 = new 类名();
在这里插入图片描述

匿名对象

匿名对象简述:

  • 我们也可以不定义对象的句柄,而直接调用这个对象的方法。这样的对象叫做匿名对象。如:new Person().shout();
  • 使用情况:如果对一个对象只需要进行一次方法调用,那么就可以使用匿名对象。
  • 我们经常将匿名对象作为实参传递给一个方法调用。
  • 根据内存分析:匿名对象只在堆内存中开辟空间,而没有在栈内存的引用,因此可以减少内存消耗。

类的三大成员

类的成员(属性)简介:

  • 属性也称为域,或字段。
  • 语法格式:修饰符 数据类型 属性名 = 初始化值 ;
  • 说明1(修饰符):常用的权限修饰符有:private、缺省、protected、public、static、final
  • 说明2(数据类型):任何基本数据类型(如int、Boolean) 或 任何引用数据类型。
  • 说明3(属性名):属于标识符,符合命名规则和规范即可
    在这里插入图片描述

类的成员(方法简介)(method、函数):

  • 方法是类或对象行为特征的抽象,用来完成某个功能操作。在某些语言中也称为函数或过程。
  • 将功能封装为方法的目的是,可以实现代码重用,简化代码。
  • Java里的方法不能独立存在,所有的方法必须定义在类里。
  • 注 意:
    ①方法被调用一次,就会执行一次
    没有具体返回值的情况,返回值类型用关键字void表示,那么方法体中可以不必使用return语句。如果使用,仅用来结束方法。
    <1>void就是一个基本类型,返回值为void也就是return;。
    <2>void关键字表示函数没有返回结果,是java中的一个关键字。
    <3>Void类是一个不可实例化的占位符类,用来保存一个引用代表了Java关键字void的Class对象。如果方法返回值是Void类型。那么该方法只能返回null类型(除了null不能返回其它类型)。
    <3>通过Void类的源代码可以看到,Void类型不可以继承与实例化。
    ③定义方法时,方法的结果应该返回给调用者,交由调用者处理。 方法中只能调用方法或属性,不可以在方法内部定义方法。

重载的概念:

  • 在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
  • 重载的特点:与返回值类型无关,只看参数列表,且参数列表必须不同。(参数个数或参数类型)。调用时,根据方法参数列表的不同来区别。
  • 总结:重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。
  • 重载示例:
//返回两个整数的和
int add(int x,int y){
   return x+y;}
//返回三个整数的和
int add(int x,int y,int z){
   return x+y+z;}
//返回两个小数的和
double add(double x,double y){
   return x+y;}

可变形参简述:

  • JavaSE 5.0 中提供了Varargs(variable number of arguments)机制,允许直接定义能和多个实参相匹配的形参。从而,可以用一种更简单的方式,来传递个数可变的实参。
//JDK 5.0以前:采用数组形参来定义方法,传入多个同一类型变量
public static void test(int a ,String[] books);
//JDK5.0:采用可变个数形参来定义方法,传入多个同一类型变量
public static void test(int a ,String…books);
  • 说明:
    ①声明格式:方法名(参数的类型名 …参数名)
    ②可变参数:方法参数部分指定类型的参数个数是可变多个:0个,1个或多个
    可变个数形参的方法与同名的方法之间,彼此构成重载。
    可变参数方法的使用与方法参数部分使用数组是一致的。
    方法的参数部分有可变形参,需要放在形参声明的最后
    在一个方法的形参位置,最多只能声明一个可变个数形参

方法参数的值传递机制:

  • 方法,必须由其所在类或对象调用才有意义。若方法含有参数:
    ①形参:方法声明时的参数
    ②实参:方法调用时实际传给形参的参数值
  • Java的实参值如何传入方法呢?
    ①Java里方法的参数传递方式只有一种:值传递。 即将实际参数值的副本(复制品)传入方法内,而参数本身不受影响。
    形参是基本数据类型:将实参基本数据类型变量的“数据值”传递给形参
    形参是引用数据类型:将实参引用数据类型变量的“地址值”传递给形参

递归方法:

  • 递归方法包含了一种隐式的循环,它会重复地执行某段代码,但这个循环无须控制。
  • 递归方法必须要向一个已知的方向递归,否则这种递归就变成了无穷递归,也就是循环里的死循环。

类的成员(构造器)简介:

  • 构造器的特征:
    ①它具有与类相同的名称
    ②它不声明返回值类型。(与声明为void不同)
    ③不能被static、final、synchronized、abstract、native修饰,不能有return语句返回值
    ④构造器的作用:创建对象;给对象进行初始化
  • 根据参数不同,构造器可以分为如下两类:
    ①隐式无参构造器(系统默认提供)
    ②显式定义一个或多个构造器(无参、有参)
  • 注 意:
    ①Java语言中,每个类都至少有一个构造器
    ②默认构造器的修饰符与所属类的修饰符一致
    ③一旦显式定义了构造器,则系统不再提供默认构造器
    ④一个类可以创建多个重载的构造器
    ⑤父类的构造器不可被子类继承

属性赋值过程:

  • 赋值的位置:
    ① 默认初始化
    ② 显式初始化
    ③ 构造器中初始化
    ④ 通过“对象.属性“或“对象.方法”的方式赋值
  • 赋值的先后顺序:
    ① - ② - ③ - ④

JavaBean:

  • JavaBean是一种Java语言写成的可重用组件。
  • 所谓javaBean,是指符合如下标准的Java类:
    ①类是公共的
    ②有一个无参的公共的构造器
    ③有属性,且有对应的get、set方法

OOP特征一:封装与隐藏

封装属性:

  • Java中通过将类的属性和方法进行私有化处理,可以将类的属性和方法进行封装,从而不被外界所直接引用,我们可以通过getter(),setter()方法来调用属性,从而:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值