java面向对象

2024-01-09 12:35:03

1.封装

1.狭义理解:利用private修饰符将对象中的成员属性私有化,不能直接访问到,只能通过其提供公共的set、get方法进行访问和使用。

广义理解:就是将一段重复执行的代码块放到一个方法里,使用时调用该方法即可。

作用:

1.提高了安全性

2.提高了执行效率

2.继承

当两个类之间具有子父类关系时,利用extends关键字使得子类直接获得和使用父类中非私有的属性和行为。

注意:

1.子类不能继承父类中私有化的属性或行为。

2.不能为了要使用某些继承方法而强行继承,继承要符合逻辑性。

3.java中的继承一般是单继承,即只能有继承自一个父类,但是一个父类是可以有多个子类的。

3.构造方法

如何辨别构造方法:

没有返回值,连void也没有,方法名要和类名保持一致。

分类:

可以分为无参构造方法和有参构造方法。

构造方法作用:

1.通过构造方法创建对象,调用对象就相当于调用构造方法。

2.可以通过构造方法给对象赋初始值。

java里面一般默认有一个无参的构造方法,当我们书写了一个新的构造方法时,这个默认的无参构造就会被覆盖掉,如果想再使用无参构造,这时候就需要自己再重新书写一个无参构造方法。

4.方法重载和方法重写

方法重载

在同一个类当中,如果方法名相同,里面的参数列表不同,那么就构成方法重载(这里的参数列表不同指的是:参数的个数、类型、顺序不同,方法是否重载与返回值无关)

方法重写

在子类和父类当中,如果方法的方法名、参数完全一致,且子类的返回值的类型与父类的返回值类型一致,如果类型不一致,那么子类的返回值类型需要是父类返回值类型的子孙类类型,才能构成方法重写。

注意父类中的私有方法不能被重写。

如何区分:

方法重载一般是在同一个类当中,方法的方法名一样,里面的参数个数、类型、顺序不同,与返回值无关。

方法重写一般存在于多个子类与他们的父类之间,方法名及参数是完全一致的,且子类的返回值类型要么和父类一致,要么是父类返回值类型的子孙类。

5.this关键字和super关键字

this关键字一般用于类中区分语义,以及可以通过this.属性/方法调用对象的属性/方法。

super关键字可以用其在子类中调用父类的属性/方法,必须要写在方法中的第一行

6.基本类型包装类

我们常用的基本数据类型虽然使用起来方便,但是无法进行操作,因此常常使用其对应的包装类进行操作。

数据类型

分类

包装类

整型

byte

Byte

short

Short

int

integer

long

Long

浮点型

float

Float

double

Double

布尔型

boolean

Boolean

字符型

char

character

7.装箱和拆箱

装箱

装箱就是把基本数据类型转化为包装类或者引用数据类型。

一般装箱时会自动调用包装类里的valueOf()方法。

注意:对于int而言,如果保存的数值超过本身的范围会新创建一个对象保存

? ? ? ? ? ?对于double,其会直接创建一个新的对象保存。

拆箱


拆箱就是把包装类转化为基本数据类型。当从对象类型中提取值类型的值时,会发生拆箱操作。拆箱会将引用类型中的值复制到一个新的值类型变量中。一般使用?数据类型value()?方法进行转化。

装箱和拆箱的优缺:

优:有利于提高通用性和系统性能。

缺:会导致额外的内存开销和性能损失。

8.基本数据类型和字符串之间的转换

基本数字类型---->字符串:

1.可以使用数字+空字符串的方式

例如:String?str=10+" ";

2.可以使用Integer包装类的方法:toString(int?i);

例如:String?str=Integer.toString(10);

3.可以使用String类的方法:valueOf(int?i);

例如:String?str=String.valueOf(10);

字符串---->基本数字类型:

利用parseInt?/parseDouble的方法

例如:String?str=Integer.toString(10);

???????????int?a=String.parseInt(str);

文章来源:https://blog.csdn.net/2401_82454653/article/details/135417737
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。