一、类与对象
类是抽象的概念,仅仅是模版,对象是具体的实体。
类型是模版,定义了特征(属性)和行为(方法)
类型决定了后续对象的行为和属性
属性:对象具有的各种特征。
方法:对象执行的操作。
类图:
图的顶部是类名,中间部分是类中的属性,底部是方法。
中间部分:+ name : String // +代表public(-代表private)
底部: + print():void
创建对象的步骤:类名 对象名 = new 类名();
School school = new School();
引用对象成员用“ . ”进行操作:
引用属性:对象.属性 //center.name = "Java高级";
引用方法:对象.方法名() //center.showCenter();
二、类的方法
定义:访问权限 返回值类型 方法名( [形式参数] ){ 方法体}
方法名的命名用小驼峰
当自定义类型的属性名和方法的参数名相同时,采用就近原则选择,当名相同还想用属性列表的那个属性时在名前加this,即加了this之后的属性会变成全局的那个属性。
例:
public void show(){
System.out.println("姓名:" + name + ",密码:" + password);
}
方法的返回值类型有两大类:
无返回值:void
有返回值:返回值类型为定义的数据类型中的一种,且必须使用关键字return 返回该值。
return跳出方法,返回结果。
方法的调用:
在同一类中调用其他的方法:直接调用
public void a( ) {
b( ); //调用b( )
}
在一个类中调用另一个类的方法:先创建类对象,然后使用“ . ”调用
public void a( ) {
Teacher t = new Teacher( );
t.b( ); //调用Teacher类的b()
}
带参方法:
定义:
<访问修饰符> 返回类型 <方法名>(<形式参数列表>) {
//方法的主体
}
调用带参方法的语法:对象名.方法名(参数1, 参数2,……,参数n) 定义的方法有几个参数,调用就必须要几个参数,同时调用带参方法时无需声明实参类型。
构造方法:每个类都有个默认的无参构造方法。
定义:
访问修饰符 构造方法名 ( ) {
//初始化代码
}
构造方法的功能是创建对象。
构造方法的名字和类名一样。
构造方法没有返回值标识。
当人为创建了构造方法后,默认的创建的那个隐藏的无参构造方法将失效。
带参构造方法一般是是在调用时就希望原本就有初始值时使用。
方法重载:同一个类中,方法的名字相同,而形参不同,与其他(返回值,访问修饰符)的无关。
三、成员变量和局部变量
区别:
作用域不同:
局部变量的作用域仅限于定义它的方法;
成员变量的作用域在整个类内部都是可见的。
初始值不同:
Java会给成员变量一个初始值;
Java不会给局部变量赋予初始值。
注:在同一个方法中,不允许有同名的局部变量,而不同的方法中可以有。且局部变量拥有更高的优先级。
四、封装
使用封装的原因:属性被随意访问以及修改。
封装的概念:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问,把尽可能多的东西藏起来,对外提供便捷的接口。
实现封装的步骤:设为private,防止错误的修改 》 创建公有的get和set方法 》 在创建公有的方法中加入属性的控制性语句。
封装的好处:
便于使用者正确使用系统,防止错误修改属性
有助于系统之间的松耦合,提高系统独立性
提高软件的可重用性
降低了构建大型系统的风险
类的访问修饰:默认是私有访问级别
private:同一类可以访问,同一包中无法访问,子类无法访问,任何地方无法访问;
默认修饰符:同一类可以访问,同一包中可以访问,子类无法访问,任何地方无法访问;
protected:同一类可以访问,同一包中可以访问,子类可以访问,任何地方无法访问;
public:同一类可以访问,同一包中可以访问,子类可以访问,任何地方可以访问;
五、继承
继承可以减少代码量,同时方便修改代码。
使用继承:
编写父类:[访问修饰符] class Pet{公有的属性和方法}
编写子类,继承父类:[访问修饰符] class Dog extends Pet{特有的属性和方法}
子类能继承父类公有(public和protected)的属性和方法。
在子类的构造方法中会自动调用super(),这个方法开发工具会自动运行,一般会省略。
super()调用父类的构造方法。
super关键字来访问父类的成员
super只能出现在子类的方法和构造方法中
super调用构造方法时,只能是第一句
super不能访问父类的private成员
父子继承最好是在一个软件包里,不要跨包创建。
构造方法不能被继承,一般是调用。
当子类调用构造方法时会先调用父类的构造方法。
方法重写:两个或以上的类中,当子类中有与父类相同(同名同参同返)的方法时,会执行方法重写,会优先调用子类中的方法。
方法重载:在一个类中,同名不同参。
六、总结
实现封装,常用的访问权限控制符,继承的好处,实现继承,封装的好处,成员变量和局部变量的区别,类的方法,如何调用类的属性和方法,this和super关键字的作用,普通方法和构造方法的区别以及使用规则。