JAVA学习笔记(四)

面向对象简述

  • 对象
    人类解决问题的方法总是将复杂的事务简单化,于是会思考这些对象是由那些部分组成的。通常会将这些对象划分为俩个部分,静态部分和动态部分,如一个人的高低、胖瘦、年龄、性别。动态部分是具有这些属性的人做的动作,如一个人的跑、跳、哭等。
  • 封装
    (1)封装是面向对象编程的核心思想。将对象的属性和行为封装起来,其载体就是类,类通常对客户隐藏其现实细节,这就是封装的思想。
    (2)采用封装的思想保证了类内部结构的完整性,应用该类的用户不能轻易的直接操作此数据结构,只能执行类允许公开的数据。这样就避免了外部操作对内部数据的影响,提高了程序的可维护性。
  • 继承
    (1)类与类之间同样具有关系,这种关系被称为关联。关联主要描述俩个类之间的一般关系,如学生类和教师类也是一个关联。俩个类之间的关系有很多种,继承是关联中的一种。
    (2)当处理一个问题时,可以将一些有用的类保留下来,在遇到同样的问题时拿来复用。使用继承思想可以缩短软件开发的周期,复用那些已经定义好的类可以提高系统性能,减少系统在使用过程中出现错误的概率。
    (3)继承性主要利用特定对象之间的共有属性。
  • 多态
    (1)其实将父类对象应用于子类的特征就是多态。
    (2)多态性允许以统一的风格编写程序,以处理种类繁多的已存在的类及相关类。该统一风格可以由父类来实现,根据父类统一风格的处理,可以实例化子类的对象。由于整个事件的处理都只依赖于父类的方法,所以日后只要维护和调整父类的方法即可,这样就降低了维护的难度,节省了时间。
    (3)多态的实现并不依赖于具体类,而是依赖于抽象类和接口。

  • 概述
    (1)类就是同一事物的统称,如果将现实世界的一个事物抽象成对象,类就是这类对象的统称。
    (2)类就是封装对象的属性和行为的载体,反过来说,具有相同属性和行为的一类实体被称为类。
  • 成员变量
    在JAVA中对象的属性也称为成员变量。
    例:在Book类中定义并使用成员变量
public class Book{
    private String name;
    public  String getName(){
    int id = 0;
    setName("JAVA");
    return id+this.name;
    }
    private void setName(String name){
    this.name = name;
    }
    public Book getBook(){
    return this;
    }
}
  • 成员方法
    (1)使用成员方法对应于类对象的行为,用上面Book类作为例子,它包含了getName()和setName()俩个方法,它分别是获取图书书名和设置图书名称的方法
    (2)定义成员方法的语法格式:
    权限修饰符 返回值类型 方法名(参数类型 参数名){
    …//方法体
    return 返回值;

    一个成员方法可以有参数,这个参数可以是对象,也可以是基本数据类型的变量,同时成员方法有返回值和不返回任何值的选择,如果方法需要返回值,可以在方法体中使用return 关键字,使用这个关键字后,方法的执行将被终止。
    (3)JAVA中的成员变量方法无返回值,可以使用void关键字表示。
    (4)成员方法返回值可以是计算结果,也可以是其他想要的数值和对象,返回值类型要与方法返回值类型一致。
    (5) 如果一个方法中含有与成员变量同名的局部变量,则方法中对这个变量的访问以局部变量进行。例如,变量id在getName()方法中值为0, 而不是成员变量中id的值。
  • 权限修饰符
    (1)私有权限(private)
      private可以修饰数据成员,构造方法,方法成员,不能修饰类(此处指外部类,不考虑内部类)。被private修饰的成员,只能在定义它们的类中使用,在其他类中不能调用。
    (2)默认权限(default)
      类,数据成员,构造方法,方法成员,都能够使用默认权限,即不写任何关键字。默认权限即同包权限,同包权限的元素只能在定义它们的类中,以及同包的类中被调用。
    (3)受保护权限(protected)
      protected可以修饰数据成员,构造方法,方法成员,不能修饰类(此处指外部类,不考虑内部类)。被protected修饰的成员,能在定义它们的类中,同包的类中被调用。如果有不同包的类想调用它们,那么这个类必须是定义它们的类的子类。
    (4)公共权限(public)
      public可以修饰类,数据成员,构造方法,方法成员。被public修饰的成员,可以在任何一个类中被调用,不管同包或不同包,是权限最大的一个修饰符。
      
    在这里插入图片描述
    (5)当声明类时不使用public、protected 和private修饰符设置类的权限,则这个类预设为包存取范围,即只有一个包中的类可以调用这个类的成员变量或成员方法。
  • 局部变量
    局部变量是在方法被执行时创建,在方法执行结束时被销毁。局部变量在使用时必须进行复制操作或被初始化,否则会出现编译错误。

类的构造方法

(1)在类中除了成员方法之外,还存在一种特殊类型的方法,那就是构造方法。构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的。
(2)构造方法的特点:

  1. 构造方法没有返回值
  2. 构造方法的名称要与本类的名称相同
    (3)在定义构造方法时,构造方法没有返回值,但这与普通没有返回值的方法不同,普通没有返回值的方法使用publi void mchodEx0这种形式进行定义,但构造方法并不需要使用void关键字进行修饰。
    (4)构造方法格式:
public book(){
......//构造方法体
}
  

静态变量、常量和方法

(1)由static 修饰的变量、常量和方法被称作静态变量、常量和方法。
(2)有时,在处理问题时会需要两个类在同一个内存区域共享一 个数据。为了解决这个问题,可以将这个常量设置为静态的。
(3)被声明为static的变量、常量和方法被称为静态成员。静态成员属于类所有,区别于个别对象,可以在本类或其他类使用类名和“.”运算符调用静态成员。
(4)语法:类名.静态类成员
例:在StaticTest类中调用静态成员

public class StaticTest{
final static double P = 3.1415; //在类中定义静态常量
static int id;
public static void method1(){  //在类中定义静态方法
//do Something
}
public void method2(){
System.out.println(StaticTest.P)//调用静态变量
System.out.println(StaticTest.id);  //调用静态变量
Statictest.method1();  //调用静态方法
}
  }

(5)虽然静态成员也可以使用“对象,静态成员”的形式进行调用,但通常不建议用这样的形式,因为这样容易混淆静态成员和非静态成员。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值