java中的类
来源:互联网 发布:广告单页设计软件 编辑:程序博客网 时间:2024/06/08 03:31
目录
- 内部类
- 局部类
- 匿名内部类
- 抽象类
- 学习问题
- 备注代码
内部类
内部类:在类的内部定义的类。内部类可以调用该外部类的属性。
格式:class 类名{}
public class Student { private int age; private String name;public class Pen{ //初学者注意:类名不能加括号() //内部类中可以调用外部类的name与age String color; String brand; String name; public String getName() { return name; } }}
局部类
局部类:在方法中定义的类。
格式:class 类名{}
public class Student { private int age; private String name; //这是一个学习的方法 public void study(){ System.out.println("正在学习"); //局部类 在方法中的类 class Books{ String name; int page; public int getPage() { return page; } public void setPage(int page) { this.page = page; } } }
匿名内部类(部分参考他人)
匿名内部类:匿名内部类就是没有名字的内部类。主要在观察者模式内使用,在Android主要事件里使用。如果满足下面的一些条件,使用匿名内部类是比较合适的:
(1)当只是用一次这个类的对象时使用。
(2)类在定义后马上用到。
(3)类非常小(SUN推荐是在4行代码以下)
在使用匿名内部类时,要记住以下几个原则:
(1)匿名内部类不能强制造型
(2)匿名内部类不能有构造器。
(3)匿名内部类不能定义任何静态成员、方法和类。
(4)匿名内部类不能是public,protected,private,static。
(5)只能创建匿名内部类的一个实例。
(6)一个匿名内部类一定是在new的后面,用其隐含实现一个接口或实现一个类。
因匿名内部类为局部内部类,所以局部内部类的所有限制都对其生效。
//匿名内部类 Paper paper2=new Paper(){ public String getPapersize(){ return "B5"; } };//这里需要一个;号
//在方法中返回一个匿名内部类 public class Parcel6 { public Contents cont() { return new Contents() { private int i = 11; public int value() { return i; } }; // 在这里需要一个分号 } public static void main(String[] args) { Parcel6 p = new Parcel6(); Contents c = p.cont(); } }
cont()方法将下面两个动作合并在一起:返回值的生成,与表示这个返回值的类的定义!
抽象类(abstract)
抽象类:在解决实际问题时,一般将父类定义为抽象类。利用abstrack定义抽象类。抽象类中的方法可以有抽象方法,也可以有其他的方法。也就是说抽象类不一定有抽象方法。
格式:public abstract class+类名{}
注意:抽象类中不一定有抽象方法。
抽象类不能创建对象,抽象类中的抽象方法可以在子类中实现具体的方法。
例如:
public abstract class Animal { public abstract void voice(); //此处为抽象方法,该方法的具体实现只能在子类中实现。 public void sleep(){ System.out.println("小动物们睡觉了"); } //此为具体的方法,可见抽象类中不一定必须是抽象的方法。}
抽象方法:只有方法名没有方法体 无具体实现,可以在子类中实现。
注意: 抽象方法必须是在抽象类中。
抽象方法必须在抽象类中否则出错,如下:
- 【java】:java中的StringBuffer类
- 【Java】Java中的集合类
- Java中的Collection类
- Java中的Random类
- JAVA中的集合类
- JAVA中的集合类
- JAVA中的集合类
- 谈谈Java中的类
- JAVA中的集合类
- JAVA中的类反射
- JAVA中的集合类
- 关于JAVA中的类
- JAVA中的集合类 - -
- JAVA中的类
- JAVA中的集合类
- Java中的Collection类
- Java中的Collection类
- java中的抽象类
- CF_435B_PashaMaximizes
- lucene & Lucene Spatial
- java发送post请求和get
- UART 通信逻辑协议设计(1)
- jQuery学习之用自定义插件来扩展jQuery
- java中的类
- C#中 DataGridView 属性说明(转载)
- 小马哥----高仿酷派8732定制版刷机拆机主板多图与开机界面展示 6582芯片
- 我在工作中遇到的web问题汇总
- 最少找零
- RHEL7.0网卡设置
- BootStray表单控件 基本控件的使用 提示,图标的交互
- Linux常用命令001之ls、mkdir、cd、pwd、rmdir、rm、cp、mv、ln
- JSP起源、JSP的运行原理、JSP的执行过程