Java面向对象

一、类与对象

类是抽象的概念,仅仅是模版,对象是具体的实体。

类型是模版,定义了特征(属性)和行为(方法)

类型决定了后续对象的行为和属性

属性:对象具有的各种特征。

方法:对象执行的操作。

类图:

图的顶部是类名,中间部分是类中的属性,底部是方法。

中间部分:+ 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关键字的作用,普通方法和构造方法的区别以及使用规则。

  • 33
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值