Java面向对象程序设计基础

上传人:平*** 文档编号:15887089 上传时间:2017-11-06 格式:DOCX 页数:17 大小:132.68KB
返回 下载 相关 举报
Java面向对象程序设计基础_第1页
第1页 / 共17页
Java面向对象程序设计基础_第2页
第2页 / 共17页
Java面向对象程序设计基础_第3页
第3页 / 共17页
Java面向对象程序设计基础_第4页
第4页 / 共17页
Java面向对象程序设计基础_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《Java面向对象程序设计基础》由会员分享,可在线阅读,更多相关《Java面向对象程序设计基础(17页珍藏版)》请在金锄头文库上搜索。

1、Java 面向对象程序设计基础1 类的结构1.1 类声明类的定义:class A成员变量与成员方法的定义1.2 创建对象对象的创建:A a; /对象的声明,即定义 A 类的一个对象,名为 aa=new A(); /对象的创建,即为 a 对象开辟一个内存区,/并调用构造方法 A()对对象进行初始化上面两步也可以合并为一步:A a=new A();a对象/*Class1.java*/class Manint height;int age;public class Class1public static void main(String args)Man man1;man1=new Man();ma

2、n1.height=180;man1.age=20;System.out.println(man1.height);变量方法System.out.println(man1.age);1.3 构造方法构造方法是在创建对象时调用执行的特殊函数,用于对对象进行初始化。如果编程者没有编写构造方法,编译器会自动提供一个缺省的无参的空构造方法。但如果编程者编写了构造方法,编译器将不再提供缺省的无参的空构造方法。造方法的名字必须与类名相同,且没有任何返回值,也不可使用 void 关键字。可以在构造方法中使用 this()来调用其他被重载的构造方法。/*Class17.java*/public class C

3、lass17int a;public Class17() /构造方法a=10;public static void main(String args)Class17 ob=new Class17();System.out.println(ob.a);/*Class18.java*/public class Class18int a;public Class18()a=10;public Class18(int a)this.a=a;public static void main(String args)Class18 ob1=new Class18();Class18 ob2=new Clas

4、s18(20);Class18 ob3=new Class18(30);System.out.println(ob1.a);System.out.println(ob2.a);System.out.println(ob3.a);/*Class19.java*/public class Class19int a;public void Class19() /这里 Class28()不是构造函数a=10;public static void main(String args)Class19 ob=new Class19();System.out.println(ob.a);2 类的成员2.1 成员

5、变量和局部变量类体中定义的变量称为成员变量,而类的成员方法中定义的变量以及方法中的形式参数则称为局部变量。成员变量在整个类体中有效,而局部变量只在定义它的方法中有效。 使用局部变量之前必须对其进行初始化,否则编译时会出错。2.2 关键字 this this 代表本类的对象;通过它可以引用本类的成员。只能在实例方法中使用 this 关键字。this()可用于调用本类的构造方法。/*ThisDemo.java*/class ThisDemo1int a1=1,a2=2;void ss()int a1=10, a2=20;a1=this.a1;System.out.println(a1);Syste

6、m.out.println(a2); public class ThisDemo public static void main(String args)ThisDemo1 aa=new ThisDemo1();aa.ss();System.out.println(aa.a1);2.3 类方法和实例方法有关键字 static 修饰的称为类方法(又称静态方法)和类变量(又称静态变量) ,而没有 static 修饰的称为实例方法和实例变量。实例方法和实例变量只能通过对象名引用,而类方法和类变量既能通过对象名引用,也能通过类名引用。类方法只能直接访问本类中的类成员。/*ConstructorDemo

7、.java*/class ConstructorDemo1 int a1,a2;ConstructorDemo1() /构造方法a1=1; a2=2;static void pntout(String s) /类方法System.out.println(s);public class ConstructorDemopublic static void main(String args)ConstructorDemo1 abc=new ConstructorDemo1();System.out.print(1+2=);System.out.println(abc.a2 + abc.a1);Con

8、structorDemo1.pntout(你们好,朋友们!);/*Class3.java*/public class Class3int a;static void setA(int b) /静态方法a=b; /错,静态方法中不能直接访问非静态的成员变量 apublic static void main(String args)Class3.setA(10);/*Class4.java*/public class Class4static int a; /静态变量static void hello() /静态方法System.out.println(你好);static void setA(i

9、nt b) /静态方法a=b;hello();void printA()System.out.println(a); /非静态方法可以访问静态变量 ahello(); /非静态方法也可以访问静态方法 hello()public static void main(String args)Class4.setA(100);Class4 ob=new Class15();ob.printA();2.4 访问权限(1) 使用在成员变量和成员方法之前的访问控制符成员访问控制符 含 义private 只能在类的内部被访问public 能被所有的类访问缺省(friendly) 只能被同一个包中的类访问pro

10、tected 可以被同一包中的类或其他包中的子类访问(2) 使用在类之前的访问控制符类访问控制符 含 义public 能被所有的类使用缺省(friendly) 只能被同一个包中的类使用3 类的继承和接口3.1 类的继承一个类可以通过关键字 extends 继承另一个类,被继承的类称为父类,而继承的类称为子类。子类可以继承父类所有的非私有的成员作为自己的成员。/*ExtendsDemo.java*/class ExtendsDemo1int x=8;private int y=9;public double z=10;void pntout(String s)System.out.println

11、(s); class ExtendsDemo2 extends ExtendsDemo1float w=100.0f; public class ExtendsDemopublic static void main(String args)ExtendsDemo2 abc=new ExtendsDemo2();System.out.println(abc.x);System.out.println(abc.z);System.out.println(abc.w);abc.pntout(你好,朋友!);3.2 重写与关键字 super 如果子类定义了与父类中完全相同的方法,则称在子类中重写或覆盖

12、了父类的方法,如果子类定义了与父类中完全相同的变量,则称在子类中隐藏了父类的变量。通过关键字 super 可以在子类中访问被隐藏的父类的变量。super()可以调用父类的构造方法。与 this 关键字一样,也只能在实例方法中使用 super 关键字。/*SuperDemo.java*/class SuperDemo1String name=玲玲;int age=18;long tel=66666666;class SuperDemo2 extends SuperDemo1String name=张三; /与父类的成员变量同名int age=30; /与父类的成员变量同名long tel=888

13、88888; /与父类的成员变量同名void SuperDemo2() /成员方法name=super.name; /引用父类的成员变量age=super.age; /引用父类的成员变量System.out.println(姓名: + name);System.out.println(年龄: + age);System.out.println(电话: + tel);public class SuperDemopublic static void main(String args)SuperDemo2 abc=new SuperDemo2();abc. SuperDemo2(); 3.3 fin

14、al 类和 abstract 类用关键字 final 修饰的类称为最终类,即不能派生子类。用关键字 final 修饰的变量称为最终变量,必须在声明时赋予初始值,使用中不能修改。用关键字 abstract 修饰的方法称为抽象方法,抽象方法没有方法体。包含有抽象方法的类就是抽象类,抽象类必须用关键字 abstract 加以修饰。抽象类不能创建对象,但可以派生子类。3.4 接口关键字 interface 用来声明一个接口,通过关键字 implements 来实现接口。接口体中的所有方法都是抽象方法,所有的属性都默认为 static,且都默认为public。在 Java 中一个类只能继承一个父类,但可

15、以实现多个接口。实现一个接口必须实现接口中的所有抽象方法,哪怕是空实现。/*AbstractDemo.java*/interface AbstractDemo2int aa=100;float ab=100.0f;void pntout(String ss); /抽象方法class AbstractDemo1 implements AbstractDemo2 /实现一个接口public void pntout(String ss)System.out.println(ss); /实现接口中的抽象方法public class AbstractDemopublic static void main(String args)AbstractDemo1 abc=new AbstractDemo1();System.out.println(abc.aa);System.out.println(abc.ab);abc.pntout(I am a teacher.);4 包与 import 语句在 Java 中,包指的是接

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号