版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、java基础主要内容包的使用对象的构造与销毁构造函数访问控制的权限static,finalpackage语句为便于管理大型软件系统中数目众多的类,解决类的命名冲突问题,Java引入包(package)机制,提供类的多重类命名空间。 java io lang System String Objectpackage语句package语句作为Java源文件的第一条语句,指明该文件中定义的类所在的包。(若缺省该语句,则指定为无名包)。它的格式为:package pkg1.pkg2.pkg3;举例:Test.javapackage p1;public class Test public void dis
2、play()System.out.println(in method display(); 用 . 来指明包(目录)的层次;import语句为使用定义在不同包中的Java类,需用import语句来引入所需要的类。语法格式:import package1.package2. (classname |*);应用举例: import p1.Test; /import p1.*;public class TestPackagepublic static void main(String args) Test t = new Test(); /Test类在p1包中定义 t.display(); impo
3、rt 语句对于 import java.io.*;将按照路径: javaio 来查找所需的外部类。堆和栈内存中的两种区域堆(heap)栈(stack)由JVM进行分配堆和栈栈方法调用和局部变量堆运行的时候分配所有的对象实例变量堆和栈Person p = new Person();构造函数引用构造函数构造函数的作用在被赋值给引用之前调用介入new 的过程完成初始化构造方法功能:创建其所属类型的一个新的对象。语法格式: () 举例:class Person int age;Person() age = 18; Person(int i) age = i; void setAge(int i) ag
4、e = i; 默认的构造方法Java语言中,每个类都至少有一个构造方法;如果类的定义者没有显式的定义任何构造方法,系统将自动提供一个默认的构造方法:默认构造方法没有参数默认构造方法没有方法体Java类中,一旦类的定义者显式定义了一个或多个构造方法,系统将不在提供默认的构造方法;默认的构造方法类的定义:class Person int age; void setAge(int w) age = w; 等价于: class Person int age Person() void setAge(int w) age = w; 默认的构造方法应用举例:class Test public static
5、 void main(String args) Person d = new Person() ; d.setAge(120); 构造方法重载构造方法重载举例: public class Personpublic Person(String name, int age, String s) public Person(String name, int age) public Person(String name, String s) 构造方法重载,参数列表必须不同可以在构造方法的第一行使用this关键字调用其它(重载的)构造方法构造方法重载举例public class Person priva
6、te String name; private int age; private String sex; public Person(String name, int age, String s) = name; this.age = age; this.sex= s; public Person(String name, int age) this(name, age, “female”); public Person(String name, String d) this(name, 30, d); public Person(String name) this(nam
7、e, 30); 调用父类构造方法在子类的构造方法中可使用super(argument_list)语句调用父类的构造方法如果子类的构造方法中没有显示地调用父类构造方法,则系统默认调用父类无参数的构造方法如果子类构造方法中既未显式调用父类构造方法,而父类中又没有无参的构造方法,则编译出错*调用父类构造方法举例 (1)1 public class Person 2 3 private String name;4 private int age;5 public Person(String name, int age) = name; this.age = age; 12 publ
8、ic Person(String name, int age) 13 this(name, age, null);14 15 public Person(String name) 16 this(name, 30, d);17 18 public Person(String name) 19 this(name, 30);2021 / 22 调用父类构造方法举例 (2)1 public class Student extends Person 2 private String school;34 public Student(String name, int age, String s) 5
9、super(name, age);6 school = s;7 8 public Student(String name, String s) 9 super(name);10 school = s;11 12 public Student(String s) / 编译出错: no super()13 school = s;14 15 引用创建的对象Person p = new Person();引用类型对象的构造和初始化为引用类型变量分配引用空间 MyDate m; 创建新对象-首先为新对象分配内存空间,并进行属性(实例变量)的默认初始化 new MyDate(22, 9, 2001);nu
10、llnullm000daymonthyearm对象的构造和初始化Java引用类型成员变量默认初始化原则成员变量类型 取值 byte0 short0 int 0 long0L charu0000 float0.0F double0.0D booleanfalse 所有引用类型null 对象的构造和初始化进行属性(成员变量)的显式初始化,显式初始化取值来自于类的定义中属性声明部分 int day = 12;int month = 6;int year = 1900;nullm1261900daymonthyear对象的构造和初始化(4)执行构造方法Mydate(int y, int m, int
11、d) year = y; month = m; day = d; nullm2292001daymonthyear对象的构造和初始化为引用类型变量m赋值m = new MyDate(22, 9, 2001);0 x3a478bm2292001daymonthyear0 x3a478b对象中的属性和方法对象中属性和方法的可见度可见度访问修饰符Private DefaultProtectedpublic方法的访问控制publicprotecteddefaultprivate同类同包子类通用性方法的访问控制publicprotecteddefaultprivate同类同包子类通用性不同情形下访问说明
12、符方法的访问控制publicprotecteddefaultprivate同类同包子类通用性不同情形下访问说明符方法的访问控制publicprotecteddefaultprivate同类同包子类通用性不同情形下访问说明符方法的访问控制publicprotecteddefaultprivate同类同包子类通用性不同情形下访问说明符访问控制举例(1)class Parent private int f1 = 1; int f2 = 2; protected int f3 = 3; public int f4 = 4; private void fm1() System.out.println(i
13、n fm1() f1= + f1); void fm2() System.out.println(in fm2() f2= + f2); protected void fm3() System.out.println(in fm3() f3= + f3); public void fm4() System.out.println(in fm4() f4= + f4);访问修饰符类的访问修饰符public:任何包中的类都可以访问该类默认值:同一个包中的类可以访问该类成员的访问修饰符private:只对本身类可见public:对一切类可见protected:对所有子类和同一包中的类可见默认值:对同
14、一包中的类可见注:访问成员的前提是首先能访问成员所属的类关键字static如果有些类一直在执行相同的动作则没有必要每次生成对象StaticMath.random();关键字static在Java类中声明变量、方法和内部类时,可使用关键字static做为修饰符。static标记的变量或方法由整个类(所有实例)共享,如访问控制权限允许,可不必创建该类对象而直接用类名加.调用。static成员也称类成员或静态成员,如:类属性、类方法、静态方法等。静态方法应用举例public class Person private static int total = 0; public static int ge
15、tTotalPerson() return total; public Person() total+; public class TestPerson public static void main(String args) System.out.println(Number of total is +Person.getTotalPerson(); System.out.println( Number of total is + Person.getTotalPerson(); 静态初始化在类的定义体中、方法的外部可包含static语句块static语句块仅在其所属的类被载入时执行一次st
16、atic块通常用于初始化static (类)属性class Person public static int total;static total = 100;/为total赋初值 /其它属性或方法声明 staticstatic标记的变量或方法由整个类(所有实例)共享实例变量:每个实例一个静态变量:每个类一个关键字final在Java中声明类、属性和方法时,可使用关键字final来修饰。final标记的类不能被继承。final标记的方法不能被子类重写。关键字finalfinal标记的变量(成员变量或局部变量)即成为常量,只能赋值一次。final标记的成员变量必须在声明的同时或在每个构造方法中显式赋值,然后才能使用关键字final应用举例import java.io.*;public final class Testpublic static int totalNumber= 5 ;public final int id;public Test()id = +totalNumber; public static void main(String args) Test t = new Test();System.out.println
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广东广州市荔湾区彩虹街道环卫站招聘环卫工人备考题库附答案详解(能力提升)
- 2026河南焦作市消防救援局招录政府专职消防员46名备考题库附答案详解(轻巧夺冠)
- 2026抗生素耐药性应对策略及新型药物研发与市场紧迫性评估报告
- 2026微环境调控对组织再生的影响机制
- 2026差旅合规管理政策演变对企业采购策略影响分析报告
- 2026商务酒店市场需求变化与品牌升级路径分析报告
- 2026年合作风格测试题及答案
- 事实无人抚养入院协议书
- 突发事件护理标准化操作流程
- 住宅工程质量常见问题专项治理方案
- 2024年海南省海口市小升初数学试卷(含答案)
- 2024年广东省中考生物+地理试卷(含答案)
- 小小科学家《物理》模拟试卷A(附答案)
- 如何加快发展新质生产力
- 四川省安全员《A证》考试题库及答案
- 雷达探测介绍课件
- 易普拉格科研管理系统
- 成品仓年终总结
- GB/T 39844-2021可靠性增长统计试验和评估方法
- GB/T 20641-2014低压成套开关设备和控制设备空壳体的一般要求
- GB/T 13454.2-2013塑料粉状三聚氰胺-甲醛模塑料(MF-PMCs)第2部分:试样制备和性能测定
评论
0/150
提交评论