2024年Java最新JavaSE篇学习之路:(五)【面向对象------上】,满满干货

分享

1、算法大厂——字节跳动面试题

2、2000页互联网Java面试题大全

3、高阶必备,算法学习

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 一起学习,快乐编程,欢迎攻城狮们多多交流

第一章:基础概要

=====================================================================

1.1什么是面向对象?


更符合人的思维方式,面向对象更容易接受。

将射界分割成不同的单元,每个单元都实现,

2.1面向对象的三大特征。


封装(private),继承(extends),多态。

3.1类和对象的概念。


1 什么是类?

抽象总结的一个结果,现实中不存在,抽象的概念。

2.什么是对象?(实例)

实际存在的个体。

举例:宋小宝,姚明是对象,属于“明星”这个类。

在这里插入图片描述

在Java中,要得到对象,必须定义类。类是一个模板,描述的是对象的共同特征。共同特征包括:属性和方法。(类=属性+方法)

3.类的定义:

**[修饰符列表] class 类名{

类体=属性+方法;(属性为变量,方法为动作或行为)

}**


//定义一个学生类

public class Student{

//学生类具有学号和名字属性

	int no;//学号

	String name;//姓名

	//方法

	public void doSome(){

		System.out.println("我是一个学生");

	}

}



类名为引用数据类型,方法体中的变量为局部变量,方法体外的变量为成员变量(属性)

成员变量分为静态变量和实例变量。

4.对象的创建

**new 类名(); 一个类可以创建多个对象。

类名 变量名=new 类名();**


//new了一个Student对象

Student s=new Student();



5.实例变量

对象成为实例,实例变量是:对象级别的变量。

public class 明星类{

double height;

}

身高这个属性所有的明星对象都有,但是每一个对象都有“自己的身高值”。

假设创建10个明星对象,height变量应该有10份。

所以这种变量被称为对象级别的变量。属于实例变量。

6.对象和引用的区别。

对象是new出来,在堆中存储。

引用:保存对象内存地址的变量。

在这里插入图片描述

7.访问实例变量

引用名.实例变量名。


Student s1=new Student();

s1.name;//访问name实例变量

s1.no;//访问no实例变量



8. 空指针异常

“空引用”访问实例相关的数据时,都会出现空指针异常。

在这里插入图片描述

第二章:构造方法

=====================================================================

1.1什么是构造方法?


构造方法是一个特殊的方法,能够创建对象,以及给对象属性赋值。

当一个类中没有提供任何构造方法,系统默认提供一个无参数的构造方法。这个无参数的构造方法叫做缺省构造器。

当一个类中手动的提供了构造方法,那么系统将不再默认提供无参数构造方法。建议将无参数构造方法手动的写出来,这样一定不会出问题。

2.1语法结构



[修饰符列表]  构造方法名(形参列表){

		构造方法体;

}



**注意:

1.调用构造方法:使用new调用。

2.修饰符用public。

3.构造方法名与类名一致,不需要指定返回值类型。**


    public Student() {

    no=12312313; //学号赋值

    name="张三";//姓名赋值

    }



构造方法支持方法重载吗?

构造方法是支持方法重载的。在一个类当中构造方法可以有多个。并且所有的构造方法名字都是一样的。

对于实例变量来说,只要你在构造方法中没有手动给它赋值,统一都会默认赋值。默认赋系统值。

第三章:封装(private)

============================================================================

1.1什么是封装?作用?



现实生活中有很多现实的例子都是封装的,例如:

		手机,电视机,笔记本电脑,照相机,这些都是外部有一个坚硬的壳儿。

		封装起来,保护内部的部件。保证内部的部件是安全的。另外封装了之后,

		对于我们使用者来说,我们是看不见内部的复杂结构的,我们也不需要关心

		内部有多么复杂,我们只需要操作外部壳儿上的几个按钮就可以完成操作。



**封装的作用有两个:

1.保证内部结构的安全。2.屏蔽复杂,暴露简单。**

2.1怎么进行封装,代码怎么实现?



	第一步:属性私有化(使用private关键字进行修饰。)

	第二步:对外提供简单的操作入口。



代码演示:


class Student{

   private int no;

   private String name;

    

    public Student() {

    no=12312313;

    name="张三";

    }

}



一个类体中的数据封装后,必须通过一个入口进入。

3.1 set()和get()方法


封装的代码实现两步:


第一步:属性私有化



第二步:1个属性对外提供两个set和get方法。外部程序只能通过set方法修改,只能通过get方法读取,

可以在set方法中设立关卡来保证数据的安全性。

	set和get方法都是实例方法,不能带static。


### 最后

> **面试题文档来啦,内容很多,485页!**
>
> **由于笔记的内容太多,没办法全部展示出来,下面只截取部分内容展示。**

# 1111道Java工程师必问面试题

![](https://img-blog.csdnimg.cn/img_convert/f1d18afdf7c61f0ee981002ccce5f0cf.webp?x-oss-process=image/format,png)

**MyBatis 27题 + ZooKeeper 25题 + Dubbo 30题:**

![](https://img-blog.csdnimg.cn/img_convert/7f98d30583bb7a55d1d4b52098027c2a.webp?x-oss-process=image/format,png)

**Elasticsearch 24 题 +Memcached +** **Redis 40题:**

![](https://img-blog.csdnimg.cn/img_convert/6131d0b4c4dd771b2afe7f3d5de7ad2d.webp?x-oss-process=image/format,png)

**Spring 26 题+ 微服务 27题+ Linux 45题:**

![](https://img-blog.csdnimg.cn/img_convert/0d3ce7c47e760ffd64184b83b914a2c0.webp?x-oss-process=image/format,png)

**Java面试题合集:**

![](https://img-blog.csdnimg.cn/img_convert/30510f1e3f0a8bf5f2dcc5dc68120a9c.webp?x-oss-process=image/format,png)

> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/topics/618154847)收录**

**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/topics/618154847)**

4 题 +Memcached +** **Redis 40题:**

[外链图片转存中...(img-f9fJ3Gpw-1714911942999)]

**Spring 26 题+ 微服务 27题+ Linux 45题:**

[外链图片转存中...(img-DWyiNjn4-1714911942999)]

**Java面试题合集:**

[外链图片转存中...(img-kLlJPtYt-1714911942999)]

> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/topics/618154847)收录**

**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/topics/618154847)**

  • 29
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值