1.狭义理解:利用private修饰符将对象中的成员属性私有化,不能直接访问到,只能通过其提供公共的set、get方法进行访问和使用。
广义理解:就是将一段重复执行的代码块放到一个方法里,使用时调用该方法即可。
作用:
1.提高了安全性
2.提高了执行效率
当两个类之间具有子父类关系时,利用extends关键字使得子类直接获得和使用父类中非私有的属性和行为。
1.子类不能继承父类中私有化的属性或行为。
2.不能为了要使用某些继承方法而强行继承,继承要符合逻辑性。
3.java中的继承一般是单继承,即只能有继承自一个父类,但是一个父类是可以有多个子类的。
没有返回值,连void也没有,方法名要和类名保持一致。
可以分为无参构造方法和有参构造方法。
1.通过构造方法创建对象,调用对象就相当于调用构造方法。
2.可以通过构造方法给对象赋初始值。
java里面一般默认有一个无参的构造方法,当我们书写了一个新的构造方法时,这个默认的无参构造就会被覆盖掉,如果想再使用无参构造,这时候就需要自己再重新书写一个无参构造方法。
在同一个类当中,如果方法名相同,里面的参数列表不同,那么就构成方法重载(这里的参数列表不同指的是:参数的个数、类型、顺序不同,方法是否重载与返回值无关)
在子类和父类当中,如果方法的方法名、参数完全一致,且子类的返回值的类型与父类的返回值类型一致,如果类型不一致,那么子类的返回值类型需要是父类返回值类型的子孙类类型,才能构成方法重写。
方法重载一般是在同一个类当中,方法的方法名一样,里面的参数个数、类型、顺序不同,与返回值无关。
方法重写一般存在于多个子类与他们的父类之间,方法名及参数是完全一致的,且子类的返回值类型要么和父类一致,要么是父类返回值类型的子孙类。
this关键字一般用于类中区分语义,以及可以通过this.属性/方法调用对象的属性/方法。
super关键字可以用其在子类中调用父类的属性/方法,必须要写在方法中的第一行。
我们常用的基本数据类型虽然使用起来方便,但是无法进行操作,因此常常使用其对应的包装类进行操作。
数据类型 | 分类 | 包装类 |
整型 | byte | Byte |
short | Short | |
int | integer | |
long | Long | |
浮点型 | float | Float |
double | Double | |
布尔型 | boolean | Boolean |
字符型 | char | character |
装箱就是把基本数据类型转化为包装类或者引用数据类型。
一般装箱时会自动调用包装类里的valueOf()方法。
注意:对于int而言,如果保存的数值超过本身的范围会新创建一个对象保存
? ? ? ? ? ?对于double,其会直接创建一个新的对象保存。
拆箱就是把包装类转化为基本数据类型。当从对象类型中提取值类型的值时,会发生拆箱操作。拆箱会将引用类型中的值复制到一个新的值类型变量中。一般使用?数据类型value()?方法进行转化。
优:有利于提高通用性和系统性能。
缺:会导致额外的内存开销和性能损失。
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);