完结
Redis基于内存,常用作于缓存的一种技术,并且Redis存储的方式是以key-value的形式。Redis是如今互联网技术架构中,使用最广泛的缓存,在工作中常常会使用到。Redis也是中高级后端工程师技术面试中,面试官最喜欢问的问题之一,因此作为Java开发者,Redis是我们必须要掌握的。
Redis 是 NoSQL 数据库领域的佼佼者,如果你需要了解 Redis 是如何实现高并发、海量数据存储的,那么这份腾讯专家手敲《Redis源码日志笔记》将会是你的最佳选择。
这种编程思想强调的是过程,凡事亲力亲为
2. 面向对象:
这种思想强调的是结果,Java就是一门面向对象的语言
不在意完成的过程,在意的是有对象可以帮我干活
比如:我们想吃饭,不在意是哪个厨师做的,也不在意是哪个骑手送的,只要有厨师做,有骑手派送就好了
我们可以把OOP的思维理解成一种行为习惯 思维方式
比如衣服,没有办法给出一个明确的定义,但是,只要我们看到任何一件衣服,我们就自动把它归类到衣服这个分类中,因为你在过去的生活经验中已经见过太多的衣服,积累经验
3.类
类指的是类型Type,是指一类事物,使用Java中的class关键字来描述
类是抽象的,要提取这一类事物的特征与功能
可以把类理解成设计图纸,模板
注意:类在现实世界中不是真实存在,它只是一种对象的数据类型
4.对象
对象就是根据类创建出来的一个个独立且具体的实例
一个类可以创建出多个对象,我们通过对象唯一的地址值区分不同的对象
对象具有各种特征,并且每个对象的每个特征都可以有自己特定的值
对象具有各种行为,每个对象可以执行的操作
5.对象创建过程分析
Phone p = new Phone();创建对象时,内存发生了什么?
-
在栈内存中开辟一块空间,Phone类型的引用类型变量p,把p压入栈底,此时p只有一个默认值null
-
在堆内存中开辟一块空间用于存放Phone类型的对象
-
要给这个对象进行初始化,比如:String brand = null;
-
此对象已经准备好,所以会生成一个唯一的地址值,并将这个地址值交给栈内存中的变量p来保存
-
如果后续想要对对象做操作,比如:p.price=88.8;先会找到栈中p变量保存的地址值,根据这个地址找到堆中的对象再做进一步的操作
3.1为啥要用封装?
-
封装可以提高程序的安全性
-
封装可以让资源按照我们预先规定的方式来操作
3.2属性的封装
用private修饰属性,一旦属性被private修饰,就只能在本类中使用,外界无法访问
所以为了让外界能够按照我们提供的方式来调用,需要根据属性生成公共的getXxx()与setXxx()方法
3.2 方法的封装
方法的封装也是使用private来修饰方法
如果想要调用私有方法的功能,就需要在本类的公共方法里调用这个私有方法
===============================================================================
package cn.tedu.exec;
/本类用于面向对象的巩固练习1/
public class TestCar {
public static void main(String[] args) {
//4.创建对象进行测试 创建对象 属性赋值 查看属性 调用功能
Car c = new Car();
// c.brand = “BMW”;
// c.color = “暗夜黑”;
// c.price = 9.9;
// c.length = 0.1;
// System.out.println(c.brand);
// System.out.println(c.price);
// System.out.println(c.length);
// System.out.println(c.color);
c.start();
//c.stop();
//6.创建汽车类对象c2,给属性赋值并查看
Car c2 = new Car();
c2.setBrand(“特斯拉”);
c2.setColor(“五彩斑斓的黑”);
c2.setLength(3.6);
c2.setPrice(218888.88);
System.out.println(c2.getBrand());
System.out.println(c2.getColor());
System.out.println(c2.getLength());
System.out.println(c2.getPrice());
c2.start();
//c2.stop();
}
}
//1.分析汽车这一类事物的共同特点,抽象形成类Car
class Car{
//2.定义汽车类的属性:品牌brand 颜色color 价格price 车长length
//5.封装4个属性,并提供对应的get与set方法
private String brand;
private String color;
private double price;
private double length;
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public double getLength() {
return length;
}
public void setLength(double length) {
this.length = length;
}
//3.1定义汽车启动的方法
public void start(){
System.out.println(“我的小车车启动啦~”);
stop();
}
//3.2定义汽车停止的方法
//7.封装停止的方法,并调用停止方法的功能
private void stop(){
System.out.println(“唉呀妈呀,熄火了~”);
}
}
===============================================================================
package cn.tedu.exec;
/本类用于面向对象综合练习案例2/
public class TestDog {
public static void main(String[] args) {
//5.1创建本类的对象1
Dog d1 = new Dog();
//给对象的属性赋值:哮天犬 999 细犬 二郎神 10000,并查看
d1.setName(“哮天犬”);
d1.setAge(999);
d1.setKind(“细犬”);
d1.setHost(“二郎神”);
d1.setPrice(10000);
System.out.println(d1.getName());
System.out.println(d1.getAge());
最后
郎神");
d1.setPrice(10000);
System.out.println(d1.getName());
System.out.println(d1.getAge());
最后
[外链图片转存中…(img-rIoZLQ57-1714906148760)]