JAVA_01_面向对象

什么是面向对象?
面向对象:
1)一切皆对象,Java中任何要处理的数据都是对象
‘a’, 123, “hello”, 图片 ,视频, 按钮,输入框 类 方法, 构造, 变量
2)面向对象
字符串的反转: StringBuilder:reverse()
数组的排序 :Arrays.sort();
3)三大特征: 封装 继承 多态
面向对象的步骤:
1:设计类 class Person{}
a:JDK提供的类: String Scanner Random
b:第三方库提供的类 FileUtils BeanUtils
c:自定义类 Person Student
2:使用类去创建对象
a:创建有名对象
Person p = new Person();
b:创建匿名对象
new Person();
3:通过对象调用方法
p.eat();
new Person().eat();
2:面向对象内存图

3:this关键字
this本质上就是一个引用变量,这个引用就是来存对象地址的
哪个对象调用this所在的方法,this就指向哪个对象
在一个类的任何一个方法中都有一个隐藏的this
1:有参构造
当局部变量和成员变量重名的时候来区分
2:set方法
当局部变量和成员变量重名的时候来区分
3:成员方法
4:构造方法的相互调用
public Person(String name){
this.name = name;
}
public Person(String name, int age) {
//this.name = name;
this(name);
this.age = age;
}

4:匿名对象
/*

  • 匿名对象的特点:

  • 1:匿名对象没有名字
    2:匿名对象用来简化代码的书写

  • 2:匿名对象用过一次之后,空间就消失,不能再用第二次,因为空间再也找不到了

  • 匿名对象的 作用:

  • 1:临时调用一个方法

  • new Person().eat();

  • 2:用于方法的传参和方法的返回类型
    */

5:类与类之间的关系
1:组合关系
描述的是一个类的成员变量是另一个类的一部分
每个司机都有一辆车:
class Car{
private String brand; //品牌
private String color; //颜色
private int price; //价格
}
class Driver{
private String name;
private int age;
private Car car;
}
2:继承关系
2.1 概述
生活中:一类人通过某种方式获取另一类人的财产
Java中:一些类通过某种方式获取另一些类的成员
描述的是类与类之间的包含关系,一个类是两外一个类的一种

人类 动物类 车类 父类 基类 超类
学生类 猫类 电动车类 子类
继承:extends

人类
class Person{
}

学生类继承人类:
class Student extends Person{
}
2.2 继承的父子成员特点

  • 子类继承父类:

    • 1:可以访问父类的非私有成员变量
    • 2:可以访问父类的非私有成员方法

    在java中任何一个类都有父类,如果没有指定该类的父类,则父类默认是Obejct

3:继承的两个问题
继承的缺点:
1)单继承, Java继承了一个类之后,再也不能继承别的类
2)继承让类与类之间产生耦合关系(高内聚,低耦合) ,后边的接口可以解决这个问题

1:Java支持单继承(一个类只能有一个爹)
Java继承了一个类之后,再也不能继承别的类
Java不支持类的多继承,但是支持接口多继承
2:Java支持多层继承
任何一顶层的类的父类默认都是Object

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唐_僧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值