TJETC Java实训01:Java基础复习


0、标识符命名规范

1)帕斯卡pascal(首字符、后续每一个单词的第一个字符  == 大写)

2)骆驼camel(首字符小写;后续每一个单词的第一个字符大写)

3)匈牙利 给出数据类型,如dSumOfStudentMathScore  ===>不推荐

重构

1、包名的规范

1)全小写 以.间隔 2)公司域名的反转

类/接口名:Pascal

对象名:camel

变量/方法名:camel

常量:全大写、单词间用_连接(定义在interface中 使用 public static)

《Think in Java》

SmallTalk

OOP(OOA/OOD/OOP)  设计模式(23)(算法导论  TOACP  高德纳)

2、类、对象

— class object public private protected

类是模版(蓝图),对象是实例  ===>  写类的人、写对象的人

Class  Object(instance)

Class

++静态的属性:变量(类型、名称)

++动态的行为:方法

(
返回值类型 名称(参数) 《方法签名》 ==> 方法首部
==> 方法体
{
方法体  若干语句
}
)

构造方法:无返回类型、名称和类名相同

三大特性:封装、继承、多态

3、封装

用公有的setter/getter方法访问私有的属性

***单例/单态模式

4、继承

0)访问修饰符

类内、类外(对象.)、同包不同包、

  • public private protected (default–>” “相当于空格)
  • public default 修饰class
  • public 可放在任何位置

public private protected (default– ) field、method

  • private:只能在类内
  • public:任何
  • default : 同包的同public,但是不能跨包!
  • protected:跨包的继承

1)子类继承父类的所有的属性和方法,除了private的属性和方法、除了构造方法。

父类、超类、基类

子类、派生类

2)构造方法

**自动生成无参无方法体的缺省默认构造方法;

**一旦写了任何一个构造方法,空构造不会继续自动生成

new 子类,调用子类的构造方法,默认调用父类缺省构造方法,除非特别指定调用哪一个父类的构造方法。

3)abstract

**抽象方法,用abstract修饰。只有方法的首部、没有方法体。

**含有抽象方法的类:抽象类。

**抽象类不可被实例化(不能new)

**抽象类的子类如果没有重写(具体化)抽象父类的抽象方法的实现,仍然是抽象类。

抽象类用作父类:机制:表明作为我的子类必须有某个方法,而且不同的子类该方法的具体实现不同。

4)static \ final

final

  • :field : 常量   public static final
  • :method:最终方法,此方法不可被其子类重写覆盖
  • :class:最终类,不可再有子类。

static

  • :field:类变量   《《实例变量》》
  • :method:类方法  《《实例方法》》
  • :code:静态代码块,在该对象第一次被创建的时候执行并且只执行一次,而且是在构造方法之前被调用执行。

5、多态

1)静态多态-编译时多态

重载:方法重载

*同一个类内

*多个方法

*方法名称(签名)一致、参数不同、方法返回值无所谓

哪一个方法被调用执行,依靠方法的参数==System.out.println(int\float\char\double\string)

构造方法

2)动态多态 – 运行时多态

++++基于父类子类继承的

  • A)子类继承父类,覆盖重写(override:方法的首部完全一致)父类的方法。
  • B)里氏替换:父类的对象执行子类的实例
  • C)用父类的对象调用子类中覆盖重写的父类中的方法,执行实际上子类中方法。

++++基于接口实现的

作业:

  • 1、复习。。。。
  • 2、OO特性和原则
  • 3、打印机(墨盒《彩色、黑白》、纸张《A4\B5\..》==》装配成打印机)  == 基于接口的开发
  • 4、对任意一个类,将类的属性、方法打印出来。

发表评论