java入门9-形式参数,导包,修饰符,内部类
2017-02-23 17:39
281 查看
1、形式参数和返回值的问题
(1)形式参数: 类名:需要该类的对象,或者使用匿名对象 抽象类名:抽象类不能实例化,需要创建该类的子类对象作为参数 接口名:需要该接口的实现类对象 (2)返回值类型: 类名:返回的是该类的对象 抽象类名:返回的是该类的子类对象 接口名:返回的是该接口的实现类的对象 (3)链式编程 对象.方法1().方法2().......方法n(); 每次调用完毕方法后,返回的是一个对象。
代码举例:
抽象类的 abstract class Person { public abstract void study(); } class PersonDemo { public void method(Person p) { p.study(); } public Person getPerson() { return new Student();//返回抽象类的子类对象 } } //定义一个具体的学生类 class Student extends Person { public void study() { System.out.println("Good Good Study,Day Day Up"); } } public class PersonTest { public static void main(String[] args) { PersonDemo pd = new PersonDemo(); Person p = new Student();//子类对象作为抽象类的参数 pd.method(p); Person p1 = pd.getPerson(); p1.study(); } }
接口的 interface Love { public abstract void love(); } class LoveDemo { public void method(Love l) { //l; l = new Teacher(); Love l = new Teacher(); 多态 l.love(); } public Love getlove() { return new Teacher();//返回的是该接口的实现类的对象 } } //定义具体类实现接口 class Teacher implements Love { public void love() { System.out.println("爱教学"); } } class TeacherTest { public static void main(String[] args) { //需求:我要测试LoveDemo类中的love()方法 LoveDemo ld = new LoveDemo(); Love l = new Teacher(); ld.method(l);//形式参数 是实现类对象 Love l1 = ld.getlove();//返回的是该接口的实现类的对象 l1.love(); } }
2、包
(1)其实就是文件夹,功能相似的类放在一块 (2)作用: 区分同名的类,同一个包,类名不同,不同的包,类名相同。 (3)包的定义(掌握) package 包名; 多级包用.分开。
包声明应该在源文件的第一行,每个源文件只能有一个包声明,这个文件中的每个类型都应用于它。
如果一个源文件中没有使用包声明,那么其中的类,函数,枚举,注释等将被放在一个无名的包(unnamed package)中。
(4)dos命令编译运行
a:编写一个带包的java文件
b:javac编译的时候带上-d . 即可。注意空格
比如: javac -d . HelloWorld.java
c:回到和包根目录在同一目录的地方,然后带包运行
java cn.csdn HelloWorld
3:导包和c语言中#include相同
(1)Java提供一个关键字import用来导包。 (2)格式: import 包名...类名; 另一种: import 包名...*;(不建议) 导入的类须是public的 (3)package,import,class声明的先后顺序 package > import > class package:只能有一个 import:可以有多个 class :可以有多个,以后建议是一个,每一个类是一个独立的单元
4:权限修饰符
(1)分类: 权限修饰符:private,默认,protected,public 状态修饰符:static,final 抽象修饰符:abstract (2)常见的类及其组成的修饰 类: 默认,public,final,abstract 常用的:public 成员变量: private,默认,protected,public,static,final 常用的:private 构造方法: private,默认,protected,public 常用的:public 成员方法: private,默认,protected,public,static,final,abstract 常用的:public
6:内部类
(1)把类定义在另一个类的内部,该类就被称为内部类。 举例:把类B定义在类A中,类B就被称为内部类。 (2)内部类的访问规则 A:可以直接访问外部类的成员,包括私有 B:外部类要想访问内部类成员,必须创建对象 (3)内部类的分类 A:成员内部类 B:局部内部类 在方法内部定义 (4)成员内部类 A:private 为了数据的安全性 B:static 为了访问的方便性 静态内部类只能访问外部类的静态成员数据。 成员内部类不是静态的: 外部类名.内部类名 对象名 = new 外部类名.new 内部类名(); 成员内部类是静态的: 外部类名.内部类名 对象名 = new 外部类名.内部类名();
相关文章推荐
- java基础(十)形式参数和返回值/链式编程/包/权限修饰符/内部类
- 黑马程序员_Java(形式参数,包,内部类,权限修饰符)
- 面向对象_形式参数和返回值、包、导包、权限修饰符、常见的修饰符、内部类总结
- 10 面向对象(形式参数和返回值的问题,包,导包,权限修饰符,常见的修饰符,内部类,匿名内部类(掌握))
- JavaSE----面向对象(形式参数和返回值研究、包、修饰符、内部类)
- Java中包的概述和导包及形式参数和返回值的问题
- JAVA学习笔记之形式参数,权限访问和内部类问题
- Java基础学习笔记10——(形参和返回值,包,导包,权限修饰符,常见修饰符,内部类)
- 黑马程序员_java入门_可变参数
- 清华大学计算中心培训部-技术分享:Java基础入门:不定长度参数
- JAVA基础-栈与堆,static、final修饰符、内部类和Java内存分配
- 对于形式参数只能用final修饰符,其它任何修饰符都会引起编译器错误
- 黑马程序员_java入门_内部类
- Java 入门 七 (Java 内部类)
- Java匿名内部类只能访问final参数的问题
- Java(1)——修饰符和内部类
- java基础入门-----可变参数
- java中三种形式的匿名内部类
- JAVA基础-栈与堆,static、final修饰符、内部类和Java内存分配
- 验证参数传递引发的Java编译错误“No enclosing instance of type XXX is accessible" 及匿名内部类