1,面向对象,万物皆对象,面向对象的三个基本特性:封 装,继承,多态。
面向对象的程序都是由类组成,类封装了对象的属性和行为。
封装:隐藏对象的属性和实现细节,仅对外提供接口。
继承:实现代码复用,将相同部分抽取出来放到一个父类中。
几种访问权限
private , 不能修饰类,同一类可见。默认,同一类,同一包。protected 不能修饰类和接口,同一类,同一包,子类。public,所有类。
static 修饰符,用来修饰类方法和类变量。
final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
abstract 修饰符,用来创建抽象类和抽象方法。
多态:
2,局部变量只在声明它的方法、构造方法或者语句块中可见;局部变量是在栈上的
静态变量除了被声明为常量外很少使用;静态变量储存在静态存储区。静态变量在程序开始时创建,在程序结束时销毁。
3,a instanceof Car
.()=.()= .()= String site = "www.runoob.com"; int len = site.length();
string1.concat(string2);
StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。
由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。
append(String s)
delete(int start, int end) replace(int start, int end, String str)
charAt(int index)compareTo(Object o)concat(String str)equals(Object anObject)hashCode()startsWith(String prefix)trim()
6, double[] myList = {1.9, 2.9, 3.4, 3.5}; // 打印所有数组元素 for (int i = 0; i < myList.length; i++) { System.out.println(myList[i] + " "); }
7,import java.util.Date;
Date date = new Date();
// 使用 toString() 函数显示日期时间 System.out.println(date.toString());
8,在 finalize() 方法里,你必须指定在对象销毁时候要执行的操作。
9,我们可以通过 Scanner 类来获取用户的输入
Scanner s = new Scanner(System.in);
10,:IOException 类和 RuntimeException 类
NullPointerException IndexOutOfBoundsException
11,extends关键字
在 Java 中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类,
使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)
super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。
this关键字:指向自己的引用。
final关键字
final 关键字声明类可以把类定义为不能继承的,即最终类;或者用于修饰方法,该方法不能被子类重写:
12,Java 重写(Override)
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!
Animal a = new Animal(); // Animal 对象 Animal b = new Dog(); // Dog 对象
b.move();//执行 Dog 类的方法
重载(Overload)
重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。
13,多态就是同一种事物的不同形态。
打印机--黑白打印机--彩色打印机
多态的优点,解耦,可扩展,灵活。
多态存在的三个必要条件,继承,重写,父类指向子类引用。 p ();
当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。
abstract class Animal { abstract void eat(); } class Cat extends Animal { public void eat() { System.out.println("吃鱼"); } public void work() { System.out.println("抓老鼠"); } }
Animal a = new Cat(); // 向上转型 a.eat();
interface Animal { public void eat(); public void travel(); }
public class MammalInt implements Animal{ public void eat(){ System.out.println("Mammal eats"); } public void travel(){ System.out.println("Mammal travels"); } public int noOfLegs(){ return 0; } public static void main(String args[]){ MammalInt m = new MammalInt(); m.eat(); m.travel(); } }
14,抽象类不能实例化,抽象类可没抽象方法,有抽象方法必须是抽象类
15,封装,将属性私有化,然后提供公共方法。
16,反射
17,栈,先进后出
Stack<Integer> st = new Stack<Integer>();
st.push(new Integer(a));
st.pop()
import java.util.*;
原文地址:https://www.cnblogs.com/zhitest/p/9142471.html