局部内部类

package ch6;

/**
* Created by Jiqing on 2016/11/21.
*/
public class LocalInnerClass { // 局部内部类
public static void main(String[] args) {
// 定义局部内部类
class InnerBase {
int a;
} // 定义局部内部类的子类
class InnerSub extends InnerBase
{
int b;
} // 创建局部内部类对象
InnerSub is = new InnerSub();
is.a = 5;
is.b = 10;
System.out.println("InnerSub对象的a和b实例变量是:" + is.a + "," + is.b);
}
}

强制回收

package ch6;

/**
* Created by Jiqing on 2016/11/21.
*/
public class Gc {
public static void main(String[] args) {
for(int i = 0; i<4;i++) {
new Gc();
// System.gc(); // 强制回收内存
Runtime.getRuntime().gc();
}
} public void finalize() {
System.out.println("正在回收内存");
}
}

抽象类与抽象函数

package ch6.Shape;

/**
* Created by Jiqing on 2016/11/21.
*/
public abstract class Shape {
private String color;
public abstract double calPerimeter();
public abstract String getType();
public Shape() {}
public Shape(String color) {
System.out.println("执行Shape构造器...");
this.color = color;
}
}
package ch6.Shape;

/**
* Created by Jiqing on 2016/11/21.
*/
public class Triangle extends Shape {
private double a;
private double b;
private double c;
public Triangle(String color,double a,double b,double c){
super(color);
this.setSides(a,b,c);
} public void setSides(double a,double b,double c){
if (a >= b + c || b >= a + c|| c >= a + b) {
System.out.println("三角形两边之和大于第三边...");
return;
}
this.a = a;
this.b = b;
this.c = c;
} public double calPerimeter() {
return a + b + c;
} public String getType() {
return "三角形";
} public static void main(String[] args) {
Shape t = new Triangle("黑色",3,4,5);
System.out.println(t.calPerimeter());
System.out.println(t.getType());
}
}

枚举类

package ch6.Enum;

/**
* Created by Jiqing on 2016/11/21.
*/
public enum SeasonEnum { // 枚举类
SPRING,SUMMER,FALL,WINTER;
}
package ch6.Enum;

/**
* Created by Jiqing on 2016/11/21.
*/
public class Enum {
public void judge(SeasonEnum s) {
switch (s) {
case SPRING:
System.out.println("春暖花开,正好踏青");
break;
case SUMMER:
System.out.println("夏日炎炎,适合游泳");
break;
case FALL:
System.out.println("秋高气爽,进补及时");
break;
case WINTER:
System.out.println("冬天寒冷,被窝赏雪");
}
} public static void main(String[] args) {
for (SeasonEnum s : SeasonEnum.values()) {
System.out.println(s);
}
new Enum().judge(SeasonEnum.FALL);
}
}
package ch6.Enum;

/**
* Created by Jiqing on 2016/11/21.
*/
public enum Operation { // 编译程序会生产5个class文件
PLUS{ // 匿名内部子类
public double eval(double x,double y) {
return x + y;
}
},
MINUS {
public double eval(double x,double y) {
return x - y;
}
},
TIMES {
public double eval(double x,double y) {
return x * y;
}
},
DIVIDE {
public double eval(double x,double y) {
return x/y;
}
};
public abstract double eval(double x,double y); public static void main(String[] args) {
System.out.println(Operation.DIVIDE.eval(1.2,2.3));
}
}

Java面向对象深度的更多相关文章

  1. java面向对象的思想(java三大特性)

    用通俗易懂的语言来理解java面向对象的思想 大家都知道,java是面向对象的编程,掌握面向对象的编程思想是掌握java编程语言的核心,但是很多人在面向对象方面都存在或多或少的误区,有的是刚学完C语言 ...

  2. JAVA面向对象编程课程设计——网络版单机斗地主

    一.团队介绍 成员姓名 任务分配 成员课程设计博客链接 兰泽祥(组长) 数据库,斗地主规则的实现,人机自动出牌的算法,实体类的设计 JAVA面向对象编程课程设计--web版斗地主 吴修恩 JSP界面的 ...

  3. JAVA面向对象

    JAVA面向对象 对象   我们生活中能看到能摸到的一切事物都是对象.在程序中模拟出生活中的所有东西万物皆对象   只要是对象--属性和行为(方法)   属性   对象有什么   例如:学生有姓名.学 ...

  4. 理解JAVA - 面向对象(object) - 属性,方法

    理解JAVA - 面向对象(object) - 属性,方法 多态的体现:    向上造型,父类接收子类对象:向上造型:    从父类角度看不到子类独有的方法:面向对象,人类认知世界的方式:生活中每天都 ...

  5. Java面向对象㈠ -- 封装

    Java的面向对象有三大特征:封装.继承.多态.这里主要对封装进行讲解. 封装可以理解为隐藏一个类的成员变量和成员函数,只对外提供需要提供的成员函数. Java的封装主要通过访问权限控制符:priva ...

  6. 谈谈Java面向对象的三大特性

    Java面向对象的三大特性就是指封装.继承.多态了. 一.封装: 概念:封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式. (举例:笔记本电脑就是一个封装体,Java语言中最小的封装体就是函数 ...

  7. Java面向对象:接口

    Java面向对象之接口 什么是接口:接口是一种规范和标准,他们可以约束类的行为,是一些方法特征的集合 语法: [修饰符] interface 接口名 extends 父接口1,夫接口2....... ...

  8. 实验二 Java面向对象程序设计

    实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...

  9. java基础1.0::Java面向对象、面向对象封装、抽象类、接口、static、final

    一.前言 一直以来都是拿来主义,向大神学习,从网上找资料,现在就把自己在工作中和学习中的所理解的知识点写出来,好记星不如烂笔头,一来可以作为笔记自己温习,二来也可以给走在求学之路的同学们一点参考意见, ...

随机推荐

  1. 第十一章 Android 内核驱动——Alarm

    11.1  基本原理 Alarm 闹钟是 android 系统中在标准 RTC 驱动上开发的一个新的驱动,提供了一个定时器 用于把设备从睡眠状态唤醒,当然因为它是依赖 RTC 驱动的,所以它同时还可以 ...

  2. 修改sql2005字段

    alter table 表名 add 字段名 数据类型 default 默认值 增加:alter table AdCategory ADD SEOTitleNo varchar(50); 删除:ALT ...

  3. android 比较靠谱的图片压缩

    第一:我们先看下质量压缩方法: private Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteAr ...

  4. YTU 2924: 文件操作--二进制文件读入

    2924: 文件操作--二进制文件读入 时间限制: 1 Sec  内存限制: 128 MB 提交: 58  解决: 20 题目描述 现有100名学生的姓名(name).学号(num).英语(Engli ...

  5. c#之线程

    //Process[] pro= Process.GetProcesses(); //foreach (var item in pro) //{ // Console.WriteLine(item); ...

  6. java 四舍五入 保留俩位小数

    public static void main(String[] args) {              String str="0";              BigDeci ...

  7. spring注入参数详解

    spring注入参数详解 在Spring配置文件中, 用户不但可以将String, int等字面值注入到Bean中, 还可以将集合, Map等类型的数据注入到Bean中, 此外还可以注入配置文件中定义 ...

  8. 一、java环境搭建

    结论: 1.jdk包括jre,jre包括jvm. 2.eclipse ide依赖环境变量.如果未设置,在启动eclipse工具会提示:返回码是13.

  9. .NetDOM操作--un

    DOM操作操作相关元素:里:children(),find("选择器")外:parent(),parents("选择器")下:next(),nextAll(选择 ...

  10. 【leetcode❤python】 438. Find All Anagrams in a String

    class Solution(object):    def findAnagrams(self, s, p):        """        :type s: s ...