corejava类的继承

原创 2012年03月26日 09:05:07

1 方法签名(方法的识别关键字)

   方法签名 = 方法名+参数类型列表

   Java 类中不能存在相同方法签名的方法

  

   方法重载: 方法名一样, 方法签名不同的方法

  

   char[] chs = {'A','B','C'};

   int[] ary = {'A','B','C'};

   System.out.println(chs);//ABC// println(char[])

   System.out.println(ary);//[[@34ADCD//println(Object)

   System.out.println(ary.toString());// [[@34ADCD

   System.out.println('A');//A // println(char) 打印字符

   System.out.println(65);//65// println(int) 打印整数

                               打人

                               打牌

   方法重载就是: 动词的多意现象, 打人, 打牌, 打酱油, 打车

  

   洗衣服, 洗手, 洗照片

  

   保存联系人, 保存通话记录, 保存访问过的地址

   save(Contact) save(Log) save(Url)

  

   Java 的关键字:

   true, false, null 不是java关键字, 是字面量!

   goto, const 是关键字, 但是不使用!

  

   挑选Java的关键字

   A.do  B.true C.sizeof D.goto

  

   

2 java方法参数的传递规则: 基于值的传递, 是变量值的

  复制,

  1) 基本类型就是其中值的复制,

  2) 引用类型是引用值(地址)的复制.

  案例: ParamaterDemo.java

  * 变量的值: a 基本类型的值是其本身,

           b 引用变量的值是一个地址值,是被引用对象的首地址.

  为了避免引用参数传递的副作用, 建议一切结果使用

  返回值带回.

 

3 继承用来表达概念上具体化延续的具体概念.

 1 * 子类继承父类的属性和方法

 2 * 构造器不能继承!

 3 实例化子类,会递归分配所有父类的空间

 4 子类构造器一定调用父类构造器

 

 * 类一定有构造器

 

4 关于继承中的构造器:

 1 * 子类构造器中, 一定调用父类构造器。

 2 子类构造器默认调用父类无参数构造器!

 3 如果父类没有无参数构造器,就必须在子类中明确指定调用

   父类的有参数构造器!

 4 使用super()调用父类构造器,必须写在子类构造器第一行

       this() 必须写在子类构造器第一行

 5 编程建议:所有的类都提供无参数构造器!减少继承时候的

   麻烦。

 

5 关于对象的实例化过程:

  new SingleQuestion()...

 1 检查类是否加载,如果没有加载就加载这个类,

   要加载所有父类。

   * 懒惰式加载(按需加载):如果第一次用到就加载,

   只加载一次。通过CLASSPATH指定的路径寻找类文件(.class)

   加载以后是一个对象,类型是Class

   获得这个类对象:Student.class-> Class 实例

 2 在内存堆中分配对象空间。递归分配所有父类和子类属性空间。

   属性默认自动初始化。自动初始化为“0”值。

 3 进行属性的赋值。

 4 递归调用父类构造器。(默认调用父类无参数构造器!)

 5 调用本类构造器。

 

6 访问控制修饰符

 1 public

 2 protected

 3 default 很少使用,很少使用package作为访问控制的边界

 4 private

 

 * 一般自然现象: 都是尽可能的封装典型.

 

 声明属性和方法尽可能私有。这样才能做到尽可能的封装。

 提供适当的属性访问方法,适当的开放属性的访问。

 

 一个源文件可以有多个类, 但是只能有一个public,

 文件名要与Public类一致. 如果有其他类, 就只能是默认修饰

 

 不建议使用非公有类。就是说所有类都应该是公有的,并且

 一个源文件一个类。

 

7 继承中的语法现象

 1 父类型变量可以引用子类型的实例,父类型的实现是多态的!

 2 子类可以覆盖父类的方法,修改父类的行为。

   * 方法覆盖:子类覆盖了父类“相同方法签名”的方法。

   方法的覆盖是由方法动态绑定实现的,就是Java虚拟机运行

   时候确定执行那个那个对象那个方法,java最终执行子类的方法。

 

8 引用类型转换(是引用变量的类型的转换!)

 1 向下转型(隐式/自动类型转换),是小类型到大类型的转换

   如:

   Circle c = new Circle(1,2,3);

   Shape s = (Shape) c;//表示圆一定是图形

 

 2 向上造型(强制类型转换),是大类型到小类型。

   如:

   Shape s = (Shape) new Circle(1,2,3);

   Cirlcle c = (Circle)s; //s实际引用圆时候,能够转换成功

   s = new Rectangle(1,1,2,2);

   Circle c2 = (Circle) s;//出现类型转换异常,因为

   // s引用的是Rectangle 不是圆实例。

 3 instanceof 运算符,用来检查引用对象的类型。

   经常与“引用类型强制转换”配合,实现安全的类型转换,

   避免类型转换异常。

coreJava简介及关键字介绍

第一天 目标:  1. Java背景知识介绍;         2. Java开发环境设置;         3. 编写、编译、运行Java程序的过程;...

CoreJava 入门知识积累

1. Java的基本程序设计结构 类是构建所有Java应用程序和applet的构建块。Java应用程序的全部内容都必须放置在类中。 Java中任何方法的代码都用“{”开始,用“}”结束。 在Java ...

corejava知识---【一】

-------------------CoreJava第一阶段---------------------------

大数据——corejava学习笔记

day1 1、ls和ls -a比较:后者比前者显示更多(隐藏的文件) 2、cd ..进入上级目录,cd 回到最初的点,pwd查看路径 3、mkdir d1建立新目录,touch hello.ja...

corejava[读书笔记]第四章

例4-2 import java.util.*; /** * This program tests the Employee class. * @version 1.11 2004-02-19 ...

CoreJava 笔试题摘抄(一) map list set

一 、Collection框架中实现比较要实现什么接口 comparable/comparator 二、 ArrayList和Vector的区别 答: 这两个类都实现了List接口(List接口继...

012 corejava 前几章基础知识

第一章介绍java语言的历史与特性,并没有什么深入的地方, 第二章介绍java环境的配置,使用命令行,ide,已经applet的使用,firefox不支持。 export JAVA_HOME=/hom...
  • WAN_EXE
  • WAN_EXE
  • 2017年07月01日 11:38
  • 148

CoreJava_线程并发(阻塞队列):在某个文件夹下搜索含有某关键字的文件

Java多线程编程是非常考验一个程序员水平的。传统的WEB程序中,因为框架提供了太多的健壮性、并发性、可靠性的支持,所以我们都是将所有的注意力放到了业务实现上。我们只是按照业务逻辑的要求,不停的积累自...
  • ziwen00
  • ziwen00
  • 2014年08月09日 19:53
  • 1481

Java学习大全 之-- CoreJava

*****************************基础************************************ 1.java是高级的编译语言,继承了c,c++优点,c的高效性...

corejava_基础

首先来个问题:什么是对象?           宽泛:可以用形容词修饰的名词都称作对象           程序:具有什么(属性)和能做什么(功能)的特点称作对象 对于知识点的理解:       ...
  • AinUser
  • AinUser
  • 2017年01月30日 21:25
  • 161
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:corejava类的继承
举报原因:
原因补充:

(最多只允许输入30个字)