Java基础学习-面向对象编程

关键词总结:

  • 对象【属性->变量、行为->方法】->类
  • 成员变量、局部变量、静态变量、静态常量
  • 主方法、成员方法、构造方法、静态方法、抽象方法
  • 一般类、抽象类、接口、内部类(成员内部类、局部内部类、静态内部类、匿名内部类)
  • 关系:类的封装、类的继承、方法重写、方法重载、接口的多重继承、创建对象
  • 访问控制:访问控制符、类包、和final关键字
  • 关键字:this、static、class、extends、abstract、interface、implements、final、super、public、private、protected、default

深入理解以上名词的含义、并且会用java语言进行表达和展示

一般类、抽象类、接口、内部类(成员内部类、局部内部类、静态内部类、匿名内部类)

比较项抽象类接口
方法可以有非抽象方法所有方法都是抽象方法
属性属性中可以有非静态常量所有属性都是静态常量
构造方法有构造方法没有构造方法
继承一个类只能继承一个父类一个类可以同时实现多个接口
被继承一个类只能继承一个父类一个接口可以同时继承多个接口

抽象类与抽象方法,关键字:abstract

  1. 在抽象类中,可以包含抽象方法,也可以不包含抽象方法,但是包含了抽象方法的类必须被定义为抽象类;此时的抽象方法没有具体实现,既没有大括号
  2. 抽象类不能创建抽象类对象,不能实例化;
  3. 抽象类被继承后,子类需要实现其中所有的抽象方法,包括父抽象类中的和子抽象类中的;
  4. 如果遇到抽象类继承抽象类,则子抽象类中可以不用实现父类中所有的抽象方法

接口与多重继承:关键字:interface、implements
解决第3点中出现的问题,当子类不想实现所有的抽象方法时

  1. 方法:接口中的方法只有定义而没有被实现,也就是说接口中的方法都是抽象的,当子类实现接口时,必须实现接口中的所有方法
  2. 变量:在接口中定义的任何变量都是static 和 final的,因此,在接口中定义变量时,必须进行初始化,而且,实现接口的子类不能对接口中的变量重新赋值
  3. 类不允许多重继承,使用接口就可以:class 类名 implements 接口1,接口2,…
  4. 一个类实现一个接口使用关键字implements,接口继承接口时,使用关键字extends

主方法、成员方法、构造方法、静态方法、抽象方法

  1. 主方法是类的入口点,提供对程序流向的控制,编译器通过主方法来执行程序;
  2. 类中的成员方法需要实例化才能调用,即使用前要用操作符new调用构造方法来创建对象,因此创建对象的同时,将自动调用构造方法中的代码;
  3. 构造方法不能定义为抽象方法,抽象方法在抽象类中没有具体实现,静态方法无需实例化就可以调用

访问控制:访问控制符、类包、和final关键字

  1. 声明类时,如果不使用public修饰符设置类的权限,则这个类默认为default(缺省)修饰。
  2. Java中类的完整名称是包类与类名的组合
  3. 同一个包中类相互访问时,可以不指定包名
  4. 实际开发中,应该为所有类设置包名,packge 包名1.包名2,是文件中的第一行非注释代码,当使用时,包名会成为类名的一部分
  5. java中命名规则是全部使用小写字母
  6. 使用包中的类,用import指定,.*表示导入包中全部的类
  7. final class 类名{},不能被继承,没有子类,例如String类,System类
  8. final方法不能被重写,final变量为常量,也可以修饰对象引用,数组,不可以被改变
  9. 使一个常量真正做到不可更改,可以将常量声明为static final,定义全局变量,通常使用pubilc static final

其他:声明、定义、创建这些词儿的理解
声明是向编译器介绍名字–标识符,定义是说:“在这里建立变量”或“在这里建立函数”,它为名字分配存储空间。声明的最终目的是为了提前使用,即在定义之前使用,如果不需要提前使用就没有单独声明的必要,变量是如此,函数也是如此,声明不会分配存储空间,只有定义时才会分配存储空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值