java面向对象
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);
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!