Java培训笔记 2-面向对象编程

对面向对象的理解

面临现实中的一些事物及行为,抽象成对象和类。
类是对象的抽象,对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占有内存空间。

java文件与class

一个java文件可以定义多个类(内部类、匿名类),但是被public修饰的类只能定义一个且需要与这个java文件名称相同,如果不相同编译器报错。

static关键字

static的主要意义是在于创建独立于具体对象的域变量或者方法。以致于即使没有创建对象,也能使用属性和调用方法!static方便在没有创建对象的情况下来进行调用(方法/变量),可以实例化。很显然,被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。
static可以用来修饰类的成员方法、类的成员变量,另外可以编写static代码块来优化程序性能。static的方法,变量在整个系统中只有1个实例,被整个系统共享。

  • 优点:当一个方法或者变量需要初始化加载,或者是经常被调用的时候可以加上static。用static修饰的方法可以用类名直接调用,不用的一定要先实例化一个对象然后才可以调用。调用方法
  • 缺点:初始化加载,比较占内存,所以不经常用的方法,不建议加此关键字。

final关键字

final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。

  • 修饰类时,表明这个类不能被继承。final类中的所有成员方法都会被隐式地指定为final方法。
  • 修饰方法时,该方法不能在子类中被覆盖。
  • 修饰变量时,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。Java中的String类就是一个final类。
    从这篇学习的

supper关键字

每当创建子类的实例时,父类的实例被隐式创建,由super关键字引用直接父类对象。
super可以用来引用直接父类的实例变量、直接父类方法;super()可以用于调用直接父类构造函数。

默认的访问修饰符

如果类、方法、变量没有使用任何访问修饰符,对应的访问修饰符就是default,只有包内的任何类可以进行访问
interface 默认的访问修饰符为public

Java基本数据类型的默认值

  • boolean false

Java初始化类的加载顺序

父类的静态代码块(static)
->子类的静态代码块(static)
->初始化父类的属性值/父类的普通代码块(自上而下的顺序排列)
->父类的构造方法
->初始化子类的属性值/子类的普通代码块(自上而下的顺序排列)
->子类的构造方法
具体的分析在这里

方法的规范

遵循驼峰法则,但首字母小写

异常分类

异常对象都是派生于Throwable类的一个实例。

  • Error:描述了Java运行时系统的内部错误和资源耗尽错误。程序不应该抛出这种类型的错误。
  • Exception:其分解为两个分支:一个分支派生于RuntimeException;另一个分支包含其他异常。划分这两个分支的规则是:由程序错误导致的异常属于RuntimeException;而程序本身没有问题,但由于像I/o错误这类问题导致的异常属于其他异常。

重写和重载

  • 重写:方法名和参数列表都相同(@Override)
  • 重载:方法名一样,参数列表不相同

接口和抽象类

被abstract修饰的类称为抽象类。

  • 抽象类不能有对象(不能用new关键字来实例化对象)
  • 抽象方法一定是在抽象类的,但是抽象类不一定有抽象方法
  • 子类继承抽象类必须重写抽象类中的抽象方法
  • 使用extends关键字来继承
  • 抽象方法没有方法体

接口就是某个事物对外提供的一些功能的声明,通过interface关键字来定义,类比较相似。

  • 接口中的所有属性默认都是public static final***
  • 接口中的所有方法默认都是public abstract***
  • 使用implements关键字来实现接口,可以实现多个接口


补充一下eclipse快捷键

  • Alt + Shift + X 然后J,运行java程序
  • alt+shift+s,get/set生成器
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值