类与对象

一、类 public class A{}

  1.概念:类是具有相同属性和行为的一组对象的集合。类是对象的抽象,对象是类的实例。

2.特点:
a)类中的属性可以是成员属性,也可以是类属性
b)类中的方法必须是有方法体的方法,可以是成员方法,也可以是类方法
c)每个类必须至少有一个构造方法,默认的是一个无参数的构造方法,可以调用构造方法创建对象
d)一个类只能继承一个父类

3.类中定义的是这一类对象的共同点【属性 方法】

4 . a.将类化作模板,可以根据类创建对象【实例化】

b.将类化作数据类型,可以定义变量
二、特征

  1.继承 public class B extends A{}

    1)概念:通过extends关键字,继承一个类的属性和方法,这种行为称为继承。

    2)好处

      a)重写:子类继承父类的所有的属性和方法,除了构造方法。减少代码的冗余

      b)扩展:子类可以拥有自己的属性和方法。

c)反映现实中的类与类的真实关系

d)子类可以在父类的基础上增加新的方法或者修改继承来的方法[子类是父类的扩展]

    3)备注:

      a)Java只能单根继承
在子类的构造方法中必须要调用父类的构造方法
在子类的默认无参构造方法中,默认调用的是父类的无参构造方法
当一个类重载了构造方法之后,默认的无参构造方法就没有了
子类就必须要指定调用父类的某一个构造方法

      b)super
     调用父类的属性、方法和构造方法。
     super()调用构造方法,这句写在构造方法的第一句。
     默认情况下,子类都会隐式调用super()来访问父类的构造方法。如果父类的无参的构造方法被覆盖,
那么在子类中就必须显示地调用super()来访问父类有参的构造方法。
      
c)final

      final修饰类:类不能被继承。
     final修饰变量:常量(不可被修改,仅且赋值一次)
     final修饰方法:方法不能被重写。

d)this: 用在构造方法和方法中this.属性名或者 this.方法名 用来表示当前对象
在构造方法中调用本类的某一个构造方法
this(参数列表); 用在构造方法第一行 ,表示当前类的某一个构造方法
具体是哪一个由this后面的参数列表确定

  2.封装

    1)概念: 面向对象的重要特征,将对象的属性和方法结合成一个独立的整体,并尽可能的
隐藏对象的实现细节

    2)好处

      a)重写:在子类中重新定义一个和父类中同名,同参,同返回值的方法,
只有方法体不一样

      b)利用分工。

      c)隐藏实现的细节。

    3)访问修饰符

      a)public:在同一个程序中任意被访问

      b)protected:在同一个包中,以及不同类的子类中

      c)默认:在同一个包和同一个类中被访问

      d)private:只能在同一个类中被访问


` 4)重载和重写的区别

a、重写必须继承,重载不用
b、重写的方法名,参数数目相同,参数类型兼容,重载的方法名相同,参数列表不同
c、重写的方法修饰符大于等于父类的方法,重载和修饰符无关。      

    5)包(package)

      a)作用

    便于类的管理
    用于区分相同名称的类
  3.多态

    1)概念:相同的行为,不同的实现。

    2)表现形式

      a)静态多态【重载多态】:由于重载机制导致的多态

    重载:在一个类中,相同的方法不同的参数列表。参数列表不同:参数的个数、顺序和类型不同。
      b)动态多态[重写多态]:由于继承和重写机制导致的多态

    重写:在父类和子类之间,子类拥有和父类相同的方法名,相同的参数列表,相同的返回值类型,子类的访问修饰符 不能小于父类的访问修饰符范围,子类的异常个数不能多于父类的异常个数。

  4.抽象

    1)抽象类 public abstract class A{}

      a)概念:用abstract修饰的类称为抽象类。

      b)特点:不能被实例化。

      抽象类中可以没有抽象方法,但是这一个类中至少有了一个抽象方法,那么这个类就必须是抽象类。
    当一个子类继承抽象类后,这个子类要么重写所有抽象方法,要么就称为抽象类。
      c)优点:1)抽象类中的属性和类一样,可以是成员属性,也可以是类属性
2)抽象类中的方法可以是抽象方法,也可以是具体的成员方法
3)抽象类中的方法需要定义访问限定符
4)抽象类有构造方法,默认的是一个无参数的构造方法,但是不能用来创建对象
5)抽象类是用来充当父类,给子类去继承和扩展的


   
    2)接口 public interface A{}

      a)概念:同样属于抽象的一种结构,是用interface修饰的结构。
     在接口中所有的方法都是公共的抽象方法,所有的属性都是公共的静态常量。
     修饰关键字可以被省略。一个类可以利用implements来实现接口,这个类被称为接口的实现类。
     一个接口可以继承其他多个接口,不可以实现其他接口。
b)特点:1)接口中的方法的访问限定符默认就是public,必须是public
2)接口没有构造方法,不能创建对象
3)接口是用来充当父类,给子类去扩展的

    对实现类重写的方法进行强制规范
     可以多重实现
     更能体现出灵活性和扩展性
      c)接口和抽象类的区别:

    修饰符:抽象类用abstract修饰,接口用interface修饰。
    属性:抽象类可以拥有任何类型的属性,接口只能拥有公共的静态常量。
    方法:抽象类可以拥有普通和抽象方法,接口只能有抽象方法。
    构造方法:抽象类可以有构造方法,接口不能有构造方法,他们都不能被实例化。
    继承或实现:抽象类只能单根继承,接口可以多重继承。

   5.变量
类变量:在整个类中【该类的所有对象都能使用】
成员变量【属性变量】:在整个对象中
参数变量:在整个方法中
局部变量:从定义开始,在其所在的代码块结束 

三、静态

  1.概念

    1)以static关键字修饰的方法和属性。

    2)在类加载的时候进行初始化。

    3)可以直接用类名.属性名或者类名.方法名来访问。

    4)在Java中也把静态方法和静态属性称为类方法和类变量。

  2.静态属性

  3.静态方法

  4.静态块

    Public class Test(){

   Static{}

    }
一、类 public class A{}

  1.概念:类是具有相同属性和行为的一组对象的集合。类是对象的抽象,对象是类的实例。

2.特点:
a)类中的属性可以是成员属性,也可以是类属性
b)类中的方法必须是有方法体的方法,可以是成员方法,也可以是类方法
c)每个类必须至少有一个构造方法,默认的是一个无参数的构造方法,可以调用构造方法创建对象
d)一个类只能继承一个父类

3.类中定义的是这一类对象的共同点【属性 方法】

4 . a.将类化作模板,可以根据类创建对象【实例化】

b.将类化作数据类型,可以定义变量
二、特征

  1.继承 public class B extends A{}

    1)概念:通过extends关键字,继承一个类的属性和方法,这种行为称为继承。

    2)好处

      a)重写:子类继承父类的所有的属性和方法,除了构造方法。减少代码的冗余

      b)扩展:子类可以拥有自己的属性和方法。

c)反映现实中的类与类的真实关系

d)子类可以在父类的基础上增加新的方法或者修改继承来的方法[子类是父类的扩展]

    3)备注:

      a)Java只能单根继承
在子类的构造方法中必须要调用父类的构造方法
在子类的默认无参构造方法中,默认调用的是父类的无参构造方法
当一个类重载了构造方法之后,默认的无参构造方法就没有了
子类就必须要指定调用父类的某一个构造方法

      b)super
     调用父类的属性、方法和构造方法。
     super()调用构造方法,这句写在构造方法的第一句。
     默认情况下,子类都会隐式调用super()来访问父类的构造方法。如果父类的无参的构造方法被覆盖,
那么在子类中就必须显示地调用super()来访问父类有参的构造方法。
      
c)final

      final修饰类:类不能被继承。
     final修饰变量:常量(不可被修改,仅且赋值一次)
     final修饰方法:方法不能被重写。

d)this: 用在构造方法和方法中this.属性名或者 this.方法名 用来表示当前对象
在构造方法中调用本类的某一个构造方法
this(参数列表); 用在构造方法第一行 ,表示当前类的某一个构造方法
具体是哪一个由this后面的参数列表确定

  2.封装

    1)概念: 面向对象的重要特征,将对象的属性和方法结合成一个独立的整体,并尽可能的
隐藏对象的实现细节

    2)好处

      a)重写:在子类中重新定义一个和父类中同名,同参,同返回值的方法,
只有方法体不一样

      b)利用分工。

      c)隐藏实现的细节。

    3)访问修饰符

      a)public:在同一个程序中任意被访问

      b)protected:在同一个包中,以及不同类的子类中

      c)默认:在同一个包和同一个类中被访问

      d)private:只能在同一个类中被访问


` 4)重载和重写的区别

a、重写必须继承,重载不用
b、重写的方法名,参数数目相同,参数类型兼容,重载的方法名相同,参数列表不同
c、重写的方法修饰符大于等于父类的方法,重载和修饰符无关。      

    5)包(package)

      a)作用

    便于类的管理
    用于区分相同名称的类
  3.多态

    1)概念:相同的行为,不同的实现。

    2)表现形式

      a)静态多态【重载多态】:由于重载机制导致的多态

    重载:在一个类中,相同的方法不同的参数列表。参数列表不同:参数的个数、顺序和类型不同。
      b)动态多态[重写多态]:由于继承和重写机制导致的多态

    重写:在父类和子类之间,子类拥有和父类相同的方法名,相同的参数列表,相同的返回值类型,子类的访问修饰符 不能小于父类的访问修饰符范围,子类的异常个数不能多于父类的异常个数。

  4.抽象

    1)抽象类 public abstract class A{}

      a)概念:用abstract修饰的类称为抽象类。

      b)特点:不能被实例化。

      抽象类中可以没有抽象方法,但是这一个类中至少有了一个抽象方法,那么这个类就必须是抽象类。
    当一个子类继承抽象类后,这个子类要么重写所有抽象方法,要么就称为抽象类。
      c)优点:1)抽象类中的属性和类一样,可以是成员属性,也可以是类属性
2)抽象类中的方法可以是抽象方法,也可以是具体的成员方法
3)抽象类中的方法需要定义访问限定符
4)抽象类有构造方法,默认的是一个无参数的构造方法,但是不能用来创建对象
5)抽象类是用来充当父类,给子类去继承和扩展的


   
    2)接口 public interface A{}

      a)概念:同样属于抽象的一种结构,是用interface修饰的结构。
     在接口中所有的方法都是公共的抽象方法,所有的属性都是公共的静态常量。
     修饰关键字可以被省略。一个类可以利用implements来实现接口,这个类被称为接口的实现类。
     一个接口可以继承其他多个接口,不可以实现其他接口。
b)特点:1)接口中的方法的访问限定符默认就是public,必须是public
2)接口没有构造方法,不能创建对象
3)接口是用来充当父类,给子类去扩展的

    对实现类重写的方法进行强制规范
     可以多重实现
     更能体现出灵活性和扩展性
      c)接口和抽象类的区别:

    修饰符:抽象类用abstract修饰,接口用interface修饰。
    属性:抽象类可以拥有任何类型的属性,接口只能拥有公共的静态常量。
    方法:抽象类可以拥有普通和抽象方法,接口只能有抽象方法。
    构造方法:抽象类可以有构造方法,接口不能有构造方法,他们都不能被实例化。
    继承或实现:抽象类只能单根继承,接口可以多重继承。

   5.变量
类变量:在整个类中【该类的所有对象都能使用】
成员变量【属性变量】:在整个对象中
参数变量:在整个方法中
局部变量:从定义开始,在其所在的代码块结束 

三、静态

  1.概念

    1)以static关键字修饰的方法和属性。

    2)在类加载的时候进行初始化。

    3)可以直接用类名.属性名或者类名.方法名来访问。

    4)在Java中也把静态方法和静态属性称为类方法和类变量。

  2.静态属性

  3.静态方法

  4.静态块

    Public class Test(){

   Static{}

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值