标签:多重 set tran eof ges package 访问 interface 结果
1、抽象类:如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。(抽象类用abstract修饰)
①抽象类的语法为:访问权限 + abstract class 类名;
②抽象类不能被实例化,但可以有构造函数;
③抽象类只能用作基类,表示一种继承关系。(抽象类的派生子类应该提供对其所有抽象方法的具体实现;如果抽象类的派生子类没有实现其中的所有抽象方法,那么该派生子类仍然是抽象类
)
2、抽象方法:在类中没有方法体的方法,就是抽象方法(抽象方法的语法:访问权限 abstract 返回值类型 方法名称(参数列表);)
3、抽象的作用:利用抽象的概念,能够在开发项目中创建扩展性很好的架构,优化程序。
4、object类:只提到了object类是所有类的父类,位于Java.lang包中。
5、object类中常用的方法:①toString方法:可以将任何一个对象转换成字符串返回;
②equals的方法:是用来作比较的(比较的是两个引用的虚地址)
③equals和==的比较:equals比较的是对象的虚地址,而==比较的是内存的虚地址
6、多态性:JAVA中多态的具体体现是方法重载、方法覆盖、多态参数。
7、多态的参数:方法参数具有多态性,可以提高代码的扩展性。
8、多态环境下的对象造型:①向上造型(提高程序的扩展性)
②向下造型(为了使用子类中的特有方法)
9、多态环境下对属性和方法的调用
:①多态环境下对成员方法的调用(编译看左边,运行看右边)
②多态环境下对静态成员方法的调用(编译运行都看左边)
③多态环境下对成员变量的调用(编译运行都看左边)
10、instanceof 操作符
:是用来在运行时指出对象是否是特定类的一个实例(语法形式为 对象名称 instanceof 类型)
11、运行期类型与编译期类型:①编译期类型和运行期类型相同
②当有继承关系时,可能发生编译期类型和运行期类型不同的情况,即编译期类型是父类类型,运行期类型是子类类型。
12、接口的基本语法:①Java接口是一系列方法的声明,是一些抽象的集合
(接口就是特殊的抽象类)
②接口的基本格式:修饰符 interface 接口名
③接口中没有变量,只有public static final 修饰的静态常量
13、接口继承接口的原则:①Java接口可以继承多个接口
②接口继承接口依然使用关键字extends
14接口继承与类继承的区别:①Java类的继承是单一继承,Java接口的继承是多重继承
②java类对属性没有限制,而接口是静态常量
③JAVA类的构造方法可有可无,接口没有构造方法
④JAVA类可以有具体方法,接口必须是抽象方法
15、类实现接口:接口定义的是多个类都要实现的操作,即“what to do”。类可以实现接口,从而覆盖接口中的方法,实现“how to do”
1、下午的练习
package com.chainsoft.lianxi.AM;
public class Xiaolianxi {
public static void main(String[] args) {
// TODO Auto-generated method stub
Dongwu cat1 = new Cat();
Dongwu animal = new Dongwu();
animal.eat();
cat1.eat();
cat1.drink();
cat1.play();
Dongwu dog1 = new Dog();
Dongwu animal1 = new Dongwu();
animal1.drink();
dog1.eat();
dog1.drink();
dog1.play();
Dongwu yu1 = new Yu();
Dongwu animal2 = new Dongwu();
animal2.play();
yu1.eat();
yu1.drink();
yu1.play();
System.out.println(cat1 instanceof Cat);
if(cat1 instanceof Dog){
System.out.println("猫的孩子为了复仇,学会了游泳,吃光所有鱼");
}else{
System.out.println("猫的孩子为了复仇,去学习游泳,结果猫的孩子没有学会游泳,吃不光所有鱼");
}
}
}
class Dongwu
{
void eat()
{
System.out.print("小猫出生了,3年后,小猫可以吃东西了,");
}
void drink()
{
System.out.print("一只小狗");
}
void play()
{
System.out.print("失落的猫走出了家门,");
}
}
class Cat extends Dongwu{
Cat(){
super();
}
void eat() {
int a = 3;
System.out.print("于是猫吃了"+a+"条鱼");
}
void drink()
{
System.out.print(",然后慢慢的添水喝");
}
void play()
{
System.out.println(",吃饱喝足推球玩,");
}
}
class Dog extends Dongwu
{
void eat(){
System.out.print("看着推球玩的小猫,跑去追猫咬,");
}
void drink(){
System.out.print("打碎了玻璃,弄乱了房间,");
}
void play(){
System.out.println("主人知道后,把狗栓了起来,把猫赶了出去。");
}
}
class Yu extends Dongwu{
void eat(){
System.out.print("看到小河里自由自在捕食游玩的小鱼,");
}
void drink(){
System.out.print("心生嫉妒于是下河去捕鱼,");
}
void play(){
System.out.println("结果自己淹死在了水里。");
}
}
输出结果
2、多接口的练习
package com.chainsoft.lianxi.AM;
interface IConnecionManager{ //创建一个接口1
void dial(String phoneNumber);
void huangup();
}
interface IDataTransfer{ //创建一个接口2
void chat(String req);
void answer(String rep);
}
class Phone implements IConnecionManager,IDataTransfer{ //继承两个接口
public void chat(String req) {
System.out.println(req); //实例化接口2方法1
}
public void answer(String rep) {
System.out.println(rep); // 实例化接口2方法2
}
public void dial(String phoneNumber) {
System.out.println(phoneNumber); //实例化接口1方法1
}
public void huangup() {
System.out.println("通话完毕!"); //实例化接口1方法2
}
}
public class Duojiekou {
public static void main(String[] args) {
// TODO Auto-generated method stub
Phone phone = new Phone();
phone.chat("地瓜地瓜,我是土豆,收到请回答!"); //输出
phone.answer("土豆土豆,我是地瓜,已经收到!");
phone.dial("1-917-8681888");
phone.huangup();
}
}
输出结果
3、多态的练习
package com.chainsoft.lianxi.AM;
class USB {
public String name;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String load()
{
return"USB设备正在装载...";
}
}
class UDisk extends USB
{
public UDisk()
{
setName("16G U盘");
}
public String load()
{
return "正在装载的是:"+getName();
}
}
class Umouse extends USB
{
public Umouse()
{
setName("USB接口鼠标");
}
public String load()
{
return "正在装载的是:"+getName();
}
}
class UKeyboard extends USB
{
public UKeyboard()
{
setName("USB接口键盘");
}
public String load()
{
return"正在装载的是:"+getName();
}
}
public class USBTest{
public static void main(String[] args)
{
// TODO Auto-generated method stub
USB udisk = new UDisk();
System.out.println(udisk.load());
USB umouse = new Umouse();
System.out.println(umouse.load());
USB ukeyboard = new UKeyboard();
System.out.println(ukeyboard.load());
}
}
输出结果
标签:多重 set tran eof ges package 访问 interface 结果
原文地址:http://www.cnblogs.com/wx1691790309/p/7062327.html