Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为.例如,一条狗是一个对象,它的状态有:颜色.名字.品种:行为有:摇尾巴.叫.吃等. 类:类是一个模板,它描述一类对象的行为和状态. 下图中男孩女孩为类,而具体的每个人为该类的对象: Java中的对象 现在让我们深入了解什么是对象.看看周围真实的世界,会发现身边有很多对象,车,狗,人等等.所有这些对象都有自己的状态和行…
一:java概述(快速浏览): 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒.PDA等的微处理器: 1994年将Oak语言更名为Java: Java的三种技术架构: JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发: JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础: JAVA…
本部分包含的一些指导原则,可以帮助哦我们更好滴利用这些语言元素,以便让设计出来的类更加有用.健壮和灵活. 十二.使类和成员的访问能力最小化 三个关键词访问修饰符:private(私有的=类级别的).未指定(包级私有的).protected(受保护的=继承级别的+包级别的访问).pulbic(共有的) 备注:其中未指定,使用的是默认的访问级别,包内部的任何类都可以访问这个成员.如果类或者接口是包级私有的,就应该做成包级私有的.包级私有的是这个包实现的一部分,而不是这个报API的一部分,包级私有的可…
在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句话中最引人注目的是“复用代码”,尽可能的复用代码使我们程序员一直在追求的,现在我来介绍一种复用代码的方式,也是java三大特性之一---继承. 继承 在讲解之前我们先看一个例子,该例子是前篇博文(java基础(一)-----java的三大特性之封装)的. 从这里我们可以看出,Wife.Husband两个类除了…
抽象类 在第16节继承中,有父类 People People people=new People(); people.sayHi(); 实例化People是没有意义的,因为"人"是一个抽象的概念. 怎么才能避免父类的实例化呢?使用 abstract 关键字修饰类(抽象类). 抽象父类 public abstract class People { private String name; public People(String name) { super(); this.name =…
第13条:使类和成员的可访问性最小化 第一规则很简单:尽可能地使每个类或者成员不被外界访问.换句话说.应该使用与你正在编写的软件的对应功能相一致的.尽可能最小的访问级别. 对于顶层的(非嵌套的)类和接口,只有两种可能的访问级别:包级私有的(package-private)和公有的(public).如果你用public修饰符声明了顶层类或者接口,那它就是公有.否则,它将是包级私有的.如果类或者接口能够被做成包级私有的,它就应该被做成包级私有的.通过把类或者接口做成包级私有,它实际上成了这个包的实现…
Java Genrics 是 Java 5 中引入的最重要的功能之一. 如果您一直在使用Java Collections并使用版本 5 或更高版本,那么我确定您已经使用过它. Java 中具有集合类的泛型非常容易,但是它提供了比仅创建集合类型更多的功能. 我们将在本文中尝试学习泛型的功能.如果我们使用专业术语,对泛型的理解有时会变得混乱,因此,我将尽量保持其简单易懂. 1. Java 中的泛型 Java 5 中添加了泛型,以提供编译时类型检查,并消除了ClassCastException使用集合…
方式一: 继承Thread类. /* * main函数也叫主函数(也叫主线程), * 因为所有代码的执行都是从这里开始的. */ public static void main(String[] args) { // 在测试类中,创建线程对象. MyThread mt1 = new MyThread(); // 开启线程. //start() //mt1.run(); //如果调用run()方法, 只是普通的方法调用. mt1.start(); //开启线程必须调用start()方法, 该方法会…
java中,声明类使用new关键字 类名 类变量名 = new 类名(构造函数形参表): 静态函数内不能有非静态类,但是可以有非静态函数. package com.company; /** * Created by hurle on 2016/4/23. */ import java.util.Arrays; public class Array { public static void printA(){ System.out.println("Print A"); } public…
对象vs对象变量 “对象” 描述的是一个类的具体实例,他被java虚拟机分配在 "堆" (Heap)中. “对象变量” 为一个对象的引用(对象变量的值=记载着具体对象的位置/地址),他被分配在 "栈" (Stack) 上. Date birthday = new Date(); birthday - 即为对象变量,他被分配在 Stack 上,初始化的Date对象被分配在 Heap 中,如图: 方法的隐式参数 在Java中,通常将 this 关键字称为方法的隐式参数.…