Java教程4_1(2011 06 12)
2011-06-12 22:55
337 查看
Java教程4_1(2011 06 12)
一、继承(extends)
1、一个类可以从父类继承方法和成员变量,还可以增加自己的方法和成员能量。
2、java支持单继承,但可以多层继承,继承的时候是不继承父类的构造方法的,如需要调用,应用super();来调用。子类在调用自身的构造方法前,会先调用父类的构造方法。
二、子类对象的实例化过程
注意:
1、 this或super只能作为第一条语句在构造方法中出现
public Lesson4_1(String name,int age)
{
this.name = name;
this.age = age;
}
public Student1(String name,int age)
{
super(name,age);
}
2、 super()和this调用语句不能同时在一个构造方法中出现
三、覆盖方法
1、覆盖方法必须和被覆盖方法具有相同的方法名称参数和返回值类型
2、在子类中调用父类中被覆盖的方法,可以用super()方法的格式调用
3、在覆盖方法时,不能使用比父类中被覆盖的方法更弱的访问权限
四、final关键字
1、final定义的方法不能被继承,父类中定义final方法,其子类不能对其进行覆盖
2、final定义时,可以在定义时就初始化,如果在构造方法中初始化的话,应放在每个构造方法中初始化(假如有多个构造方法)
3、在final前加上static时,只能在定义时就初始化。
4、最大的浮点数是 Float . Max_Value。(Max_Value是一个构造方法)
四、抽象类
1、说明:抽象类中可以有不是抽象的方法
2、abstract int(int x,int y); 和abstract int(int x,int y){}是不一样,后者实现了方法
五、接口(interface)
1、接口是抽象方法的集合
2、接口是一种特殊的抽象类,这种抽象类中包含常量和方法的定义,而没有变量和方法的实现
3、接口中的成员都是public访问类型的,接口里的变量默认状态是加上public static final的所以,不用我们去加上。
4、可以定义一个类用implements关键字去实现一个接口中的全部方法,我们还可以定义一个抽象类用implements关键字去实现一个接口中的部分方法。
六、对象类型的装换
1、子类对象可以自动装换为父类的
2、父类转换为子类的,是强制类型转换
3、我们可以使用instanceof来判断一个实例对象是否属于一个类 例如(a instandeof B)
4、object类的equals方法用来比较对象中的属性是否一模一样(object类是所有类的子类)
七、面向对象的多态性
1、应用程序不必为每个派生类编写功能调用,只需要对去抽象基类进行处理即可。这叫“以不变应万变”
2、派生类的功能可以被基类的引用变量引用,这叫向后兼容,这用可以提高程序的可扩充性和可维护性
3、a.fun();如果闯进去的是一个子类对象,那执行的是子类的方法
4、一个模拟装配电脑的程序
源代码如下:
interface PCI
{
void start();
void stop();
}
class NetWorkCard implements PCI
{
public void start()
{
System.out.println("Send...");
}
public void stop()
{
System.out.println("stop...");
}
}
class SoundCard implements PCI
{
public void start()
{
System.out.println("du..du");
}
public void stop()
{
System.out.println("sound stop");
}
}
class MainBoard
{
public void UsePCICard(PCI p)
{
p.start();
p.stop();
}
}
public class Assenbler
{
public static void main(String[] args)
{
MainBoard mainBoard = new MainBoard();
NetWorkCard nCard = new NetWorkCard();
SoundCard soundCard = new SoundCard();
mainBoard.UsePCICard(nCard);
mainBoard.UsePCICard(soundCard);
mainBoard.UsePCICard(new PCI()
{
public void start()
{
System.out.println("Test star");
}
public void stop()
{
System.out.println("Test stop");
}
}
);
}
}
运行结果:
Send...
stop...
du..du
sound stop
Test star
Test stop
一、继承(extends)
1、一个类可以从父类继承方法和成员变量,还可以增加自己的方法和成员能量。
2、java支持单继承,但可以多层继承,继承的时候是不继承父类的构造方法的,如需要调用,应用super();来调用。子类在调用自身的构造方法前,会先调用父类的构造方法。
二、子类对象的实例化过程
注意:
1、 this或super只能作为第一条语句在构造方法中出现
public Lesson4_1(String name,int age)
{
this.name = name;
this.age = age;
}
public Student1(String name,int age)
{
super(name,age);
}
2、 super()和this调用语句不能同时在一个构造方法中出现
三、覆盖方法
1、覆盖方法必须和被覆盖方法具有相同的方法名称参数和返回值类型
2、在子类中调用父类中被覆盖的方法,可以用super()方法的格式调用
3、在覆盖方法时,不能使用比父类中被覆盖的方法更弱的访问权限
四、final关键字
1、final定义的方法不能被继承,父类中定义final方法,其子类不能对其进行覆盖
2、final定义时,可以在定义时就初始化,如果在构造方法中初始化的话,应放在每个构造方法中初始化(假如有多个构造方法)
3、在final前加上static时,只能在定义时就初始化。
4、最大的浮点数是 Float . Max_Value。(Max_Value是一个构造方法)
四、抽象类
1、说明:抽象类中可以有不是抽象的方法
2、abstract int(int x,int y); 和abstract int(int x,int y){}是不一样,后者实现了方法
五、接口(interface)
1、接口是抽象方法的集合
2、接口是一种特殊的抽象类,这种抽象类中包含常量和方法的定义,而没有变量和方法的实现
3、接口中的成员都是public访问类型的,接口里的变量默认状态是加上public static final的所以,不用我们去加上。
4、可以定义一个类用implements关键字去实现一个接口中的全部方法,我们还可以定义一个抽象类用implements关键字去实现一个接口中的部分方法。
六、对象类型的装换
1、子类对象可以自动装换为父类的
2、父类转换为子类的,是强制类型转换
3、我们可以使用instanceof来判断一个实例对象是否属于一个类 例如(a instandeof B)
4、object类的equals方法用来比较对象中的属性是否一模一样(object类是所有类的子类)
七、面向对象的多态性
1、应用程序不必为每个派生类编写功能调用,只需要对去抽象基类进行处理即可。这叫“以不变应万变”
2、派生类的功能可以被基类的引用变量引用,这叫向后兼容,这用可以提高程序的可扩充性和可维护性
3、a.fun();如果闯进去的是一个子类对象,那执行的是子类的方法
4、一个模拟装配电脑的程序
源代码如下:
interface PCI
{
void start();
void stop();
}
class NetWorkCard implements PCI
{
public void start()
{
System.out.println("Send...");
}
public void stop()
{
System.out.println("stop...");
}
}
class SoundCard implements PCI
{
public void start()
{
System.out.println("du..du");
}
public void stop()
{
System.out.println("sound stop");
}
}
class MainBoard
{
public void UsePCICard(PCI p)
{
p.start();
p.stop();
}
}
public class Assenbler
{
public static void main(String[] args)
{
MainBoard mainBoard = new MainBoard();
NetWorkCard nCard = new NetWorkCard();
SoundCard soundCard = new SoundCard();
mainBoard.UsePCICard(nCard);
mainBoard.UsePCICard(soundCard);
mainBoard.UsePCICard(new PCI()
{
public void start()
{
System.out.println("Test star");
}
public void stop()
{
System.out.println("Test stop");
}
}
);
}
}
运行结果:
Send...
stop...
du..du
sound stop
Test star
Test stop
相关文章推荐
- java基础3_2(2011 06 12)
- Java基础3_1面向对象(2011 06 12)
- Java基础知识_毕向东_Java基础视频教程笔记(11-12 多线程)
- 老紫竹JAVA提高教程(12)-认识Map之HashMap
- Java NIO系列教程(12):Java NIO与IO
- Java简明教程 12.多线程(multithreading)
- Java基础知识_毕向东_Java基础视频教程笔记(11-12)
- 百度java开发面试题(2011-12-XX)【转】
- Java基础教程12-while循环
- IntelliJ IDEA 12 创建Web项目 教程 超详细版--http://www.cnblogs.com/cnjava/archive/2013/01/29/2881654.html
- I006-黑马程序员_毕向东_Java基础视频教程第01天-06-Java环境搭建(环境变量临时配置方式)
- java初学者实践教程12-面向对象
- TestNG入门教程-12-Java代码执行testng.xml和失败后重跑
- Java基础复习2_1(2011 06 10)
- 12-天亮大数据系列教程之java反射
- Java自学之路-Java基础教程-12:Java基本语句之2-循环控制语句for
- java基础复习1(2011 06 10)
- Java NIO系列教程(12)Java NIO与IO
- java Vamei快速教程12 类型转换和多态
- ArcGIS Server Java ADF 案例教程 12