本文章总结了一些Java中基本概念的理解:
1:类是用来实现的
2:Dog dog1=new Dog( );
其中第一个Dog表示类,dog1表示变量对象,new表示实例化,Dog()表示构造函数;
3:构造函数没有返回值,且名字与类名必须一致
Dog(){
//函数体
}
4:this的作用
表示调用函数的对象
String name;
void talk (name){
System.out.println(this.name);//这里输出name的值将会是调用talk()的对象name属性的值,而非括号里name的值
}
调用构造函数
people(String name,int age){
this.name=name;
this.age=age;
}
people(String name,int age,String sex){this(name,age);//调用构造函数,放在第一行
this.sex=sex;
}
5:static的作用
1:静态变量:只有一个,一改都改
2:静态代码块:自运行,为成员变量赋初始值
static{
//函数体
}
3:静态函数:不能调用this
6:super
用来调用父类的构造函数,必须放在第一行
super();
而this是用来调用本类的构造函数
7:向上转型:将子类的对象赋值给父类的引用
class Student extends Person{
//函数体
}
Student s = new Student();
Person p = s ;//Person p = new Student;
引用时只能调用引用本身有的变量和函数
调用时可以调用子类的方法
8:向下转型:将父类的对象赋值给子类的引用
Student s1 = new Student();
Person p = s1;
Student s2 = (Student)p;//强制转化
Person p = s1;
Student s2 = (Student)p;//强制转化
9:抽象类
1:抽象类不能被实例化
2:含有抽象方法的类必须是抽象类
3:没有抽象方法的类也可以是抽象类
4:抽象类可以有构造函数
**继承抽象类必须重写所有的抽象方法**//用于规范子类实例该方法
抽象方法:
只有定义,没有函数体
abstract void fun();
2:含有抽象方法的类必须是抽象类
3:没有抽象方法的类也可以是抽象类
4:抽象类可以有构造函数
**继承抽象类必须重写所有的抽象方法**//用于规范子类实例该方法
抽象方法:
只有定义,没有函数体
abstract void fun();
10:权限:public>protect>default>private
当前类 同一package 不同package子孙类 其他package
public √ √ √ √
protected √ √ √ ×
default √ √ × ×
private √ × × ×
public √ √ √ √
protected √ √ √ ×
default √ √ × ×
private √ × × ×
11:接口就是标准(就像USB接口):
接口当中的方法都是抽象方法
接口当中方法的权限都是public
一个类可以实现多个接口class Phone implements A,B
一个接口可以继承多个接口interface C extends A,B
设置工厂模式
接口当中方法的权限都是public
一个类可以实现多个接口class Phone implements A,B
一个接口可以继承多个接口interface C extends A,B
设置工厂模式
12:异常:Throwable
try...catch...finallyclass FirstThread extends Thread{
public void run(){
System.out.println("hello");
}
}
class Test {
public static void mian(){
FirstThread fd =new FirstThread();
ft.start;
}
}
class FirstRunnable implements Runable{
public void run(){
System.out.println("hello");
}
}
class Test {
public static void mian(){
//生成Runable接口实现类的对象
FirstRunable fr=new FirstRunable();
//生成一个Thread对象,并将Runable接口实现类的对象传值
Thread t = new Thread(fr);
//通知Thread对象,执行start方法
t.start();
}
}
try{
Thread.sleep(毫秒);
}
catch(Exception e){
System.out.println(e);
}
Thread.yield();//让出线程,继续抢
Thread thread=new Thread(firstRunable);
thread.setPriority;
thread.getPriority;
线程优先级是1到10;
ArrayList<String> arrayList = new ArrayList<String>();
arrayList.add("a");
arrayList.add("b");
arrayLiast.add("c");
for(int i=0;i<3;i++)
{
String s=arrayList.get(i);
System.out.println(s)
}