抽象类 为什么要有抽象类? 因为父类方法有不确定性,我们在Animal中定义了一个方法,但是它会被子类的方法覆盖掉,我们就不知道这个方法原本是做什么的 public class test1 { public static void main(String[] args) { } } class Animal { String name; int age; //动物会叫 public void cry() { System.out.println("不知道怎么叫"); //问题是这个方法…
this 赵本山问奥尼尔:“我的爸爸的爸爸是谁?” 奥尼尔:“不知道” 赵本山:“你傻啊,是我爷爷” 奥尼尔回去问科比:“我的爸爸的爸爸是谁?” 科比:“不知道” 奥尼尔:”你傻啊,是赵本山的爷爷“ 就像这个笑话一样,不同的人,用this时,指向的对象也是变的. 普通方法中,this总是指向调用该方法的对象 //this在成员方法中的用处 //this就是指代当前对象,是一个隐式参数 public class thissss { public static void main(String []…
变量 变量和常量是程序处理的两种基本数据对象,变量是程序的基本组成单位 变量的目的就是确定目标并提供存放空间 public class Hello { public static void main(String args[]) { int a=10; //定义一个变量,并赋值 int b=20; int result=a+b; //变量之间的运算 System.out.println("结果是"+result); } } 运行结果: D:\myJavaDemo>javac -e…
多态:同一个对象,在不同时刻表现出来的不同形态 例如: 猫 cat = new 猫(); 动物 animal = new 猫(); 这里的猫在不同时刻表现出来不同的形态,这就是多态 多态的前提和体现:继承/实现方法.方法重写.父类引用指向子类对象 多态访问成员的特点: 成员变量:编译看左边,运行看左边 成员方法:编译看左边,运行看右边 // Animal类 public class Animal { public int age = 30; public void eat(){ System.o…
Java中sleep和wait的区别 ① 这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类. sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用sleep. ② 锁: 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法. sleep不出让系统资源:wait是进入线程等待池等待,出让系统资源,其他线程可以占用CPU.一…
一.使用Scanner类进行控制台的输入 文档中Scanner类的定义为A simple text scanner which can parse primitive types and strings using regular expressions(一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器). 使用Scanner类,首先要导入 import.util.Scanner; 然后建立对象 Scanner scan = new Scanner(System.in); 然后…
学习一些Java常用的API Math:包含执行基本数字运算的方法 如果没有构造方法,一般类的成员都是静态的,通过类名可以直接调用 Java中有两种random函数,Math.Random()函数能够返回带正号的double值,该值≥0且<1,注意这里是小于1不能取等号 Random函数中的Random,可以是无参构造,也可以是带参构造(种子),且方法中的形参是上限 import java.util.Random; public class demo2 { public static void…
Java基础包含关键字,标识符,注释,常量和变量,运算符 关键字 关键字的定义和特点 定义:被Java语言赋予了特殊含义的单词 特点:关键字中所有字母都为小写 Java的关键字 用于定义数据类型的关键字: class interface byte short int long float double char boolean void 用于定义数据类型值的关键字: true false null 用于定义流程控制的关键字: if else switch case default while d…
泛型 泛型本质上是参数化类型,也就是说所操作的数据类型被指定为一个参数,即将类型由原来的具体的类型参数化,然后在使用/调用时传入具体的类型,这种参数类型可以用在类.方法和接口中,分别为泛型类.泛型方法.泛型接口 // 泛型类 public class GenericDemo <T>{ private T t; public T getT() { return t; } public void setT(T t) { this.t = t; } } // 测试类 public class Dem…