Java基础

目录

一、类与对象 

二、面向对象特征

三、方法重载和重写


 一、类与对象:

1、类抽象笼统的概念,抽象出一类事物共有的属性和行为,类是用来创建具体实例(对象)的,使用类体(即类声明之后的一对大括号{}以及它们之间的内容成为类体)来描述所抽象出的属性和行为;

    类体:类声明之后的一对大括号{}以及它们之间的内容成为类体,类体的内容包括两部分:

             1)变量的声明;2)方法的定义;

   属性 ( []中的可以省略)

权限修饰符 [特征修饰符] 属性类型 属性名字 [= 值];  (如果不写是有默认值)

   方法

权限修饰符 [特征修饰符] 返回值类型 方法名字 ([参数列表]) [抛出异常] [{方法体}]

   构造方法

权限修饰符 与类名一致的方法名 ([参数列表]) [抛出异常] {方法体}

1.作用 : 用来创建当前类的对象,进行初始化

 2.写法:   权限修饰符  与类名一致的方法名 (参数列表) [抛出异常]{

 3.调用 : 通过new关键字;

 4.特点 : 每一个类都有默认的无参数的构造方法,如果我们定义了新的,默认的无参数的构造方法就会覆盖;构造方法存在方法重载;构造方法不能被继承。

   程序块(代码块)

可以理解为是一个非常特殊的方法

没有修饰符 没有返回类型 没有名字 没有参数

只有一个方法的执行体{}

程序块是在每一次调用构造方法之前都会默认自动执行

程序块没有重载  却可以存在多个  按照创建的顺序逐一执行

2、类和类之间的关系

A  is-a  B     泛化(继承   实现)

A has-a B    包含(组合   聚合   关联)

A use-a B    依赖(依赖)  (need-a)

二、面向对象特征:封装、继承、多态

1、封装: 将一些数据或执行过程进行一个包装,对数据的访问只能通过已定义的接口,就是将属性私有化,提供共有的方法访问私有属性。

         目的 : 保护数据或执行过程的安全

方法本身就算是封装   封装了执行的过程  保护过程的安全  隐藏了执行细节   增强复用性。

2、继承:

     1.子类继承父类,通过一个关键字extends;

      2.子类的对象可以调用父类中的属性和方法 ,当做自己的来使用;

      3.子类可以添加自己独有的属性和方法的;

      4.子类从父类中继承过来的方法不能满足子类需要,可以在子类中重写父类的方法;

      5.每一个类都有继承类,如果不写extends关键字,默认继承Object,如果写了extends则继承后面那个父类

      6.Java中继承是单继承,每一个类只能有一个继承类  (在extends关键字后面只能写一个类)

可以通过传递的方式实现多继承的效果

      7.继承在内存中的存储形式

三、多态: 将一种行为表现出不同的效果

     要想实现多态的效果需要有继承关系, 方法重载和重写都是实现多态的方式;

     父类的引用指向子类的对象, Animal A = new Pig();

注意:1.该引用只能调用父类中定义的属性或方法

           2.如果子类中将父类的方法重写,那么调取方法后执行的结果是子类重写之后的那个结果

              如果父类与子类有同名的属性,执行父类的属性

             如果父类与子类有同名的方法(重载)    ,执行子类重写之后的方法

      4.若想要调用子类中独有的成员,需要进行类型转换(造型)

            例:  Object o = new Student(); // (向上转型)

                        Animal a = (Animal)o;     // (强制向下转型)

       5.造型时(强制向下转型时) 可能会出现一个运行时异常ClassCastException

     避免造型的异常:用instanceof关键字来进行判断

三、方法重载和重写:

方法重载:一个类中的一组方法,具有相同的方法名字但参数列表不同,这样的一组方法构成了方法重载;参数列表不同指:参数的个数,参数的类型,参数的顺序不同;

方法重写:发生在父子类中,当父类的方法无法满足子类需要时,子类可以重写父类的方法;方法名、参数列表必须相同,返回值小于等于父类,抛出的异常小于等于父类,访问修饰符大于等于父类;如果父类方法访问修饰符为private则子类中就不能重写。

区别:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值