封装
封装是我们面向对象的三大特征之一,封装的意思就是把将某些信息隐藏在类的内部,不允许外部程序直接访问,必须通过该类提供的方法来实现对隐藏信息的操作和访问。一般使用private成员变量,提供相应的getxxx和setxxx方法。
this关键字是用来区分成员变量和局部变量同名的问题,当方法的形参和成员变量同名的时候,不带this修饰的变量是形参。当方法的形参和成员变量不同名的时候,不带this修饰的变量是成员变量。
封装的好处是提高代码的安全性和复用性。
构造方法为有参构造和无参构造,如果没有定义构造方法,系统会提供一个无参构造方法,有定义构造方法的时候,系统不在提供无参构造,无论是否使用到了无参构造,都需要手动构造一个无参构造,可以使用有参构造给成员变量初始化。
String类和StringBuilder类,Srring类内容是不可变的,但是可以被共享,StringBuilder类内容是可变的,他们可以互相转换,通过public String toString():通过 toString() 就可以实现把 StringBuilder 转换为 String,通过public StringBuilder(String s):通过构造方法就可以实现把 String 转换为 StringBuilder。
//StringBuilder 转换为 String
StringBuilder sb = new StringBuilder();
sb.append("hello");
//String s = sb; //这个是错误的做法
//public String toString():通过 toString() 就可以实现把 StringBuilder 转换为 String
String s = sb.toString();
System.out.println(s);
*/
//String 转换为 StringBuilder
String s = "hello";
//StringBuilder sb = s; //这个是错误的做法
//public StringBuilder(String s):通过构造方法就可以实现把 String 转换为 StringBuilder
创建字符串的2种方式,可以通过构造方法创建一个字符串(new),直接用赋值的方法创建一个字符串(“ ”)。
继承
继承是面向对象三大特征之一,继承的意思是可以使得子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法,继承通过 继承通过extends实现,格式:class 子类 extends 父类 { } ,继承的好处是继承可以让类与类之间产生关系,子父类关系,产生子父类后,子类则可以使用父类中非私有的成员。 super:代表父类存储空间的标识(可以理解为父类对象引用)。
继承的成员方法的访问特点,通过子类对象访问一个方法,1. 子类成员范围找,2. 父类成员范围找,3. 如果都没有就报错。
方法重写:子类出现了和父类中一模一样的方法声明(方法名一样,参数列表也必须一样), 当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法,这样,即沿袭了父类的功能,又定义了子类特有的内容。
多态
多态的意思是同一个对象,在不同时刻表现出来的不同形态,多态的前提是要有继承或实现关系,要有方法的重写, 要有父类引用指向子类对象。多态的优点是提高程序的扩展性。定义方法时候,使用父类型作为参数,在使用的时候,使用具体的子类型参与操作。弊端是不能使用子类的特有成员。