常用关键字小结
8种基本类型:int(整形)、float(浮点型)、byte(字节型)、short(短整形)、long(长整型)、char(字符型)、double(双精度型)、boolean(布尔型)
String是一个类,不是基本的数据类型,final类
流程控制的关键字:if~else,do~while,for,switch~case,break,continue,return,
逻辑判断:true,false
变量的引用:super(父类、超类),this(本类),void(无返回值)
访问控制:private,protected,public
类、方法和变量的修饰符:sbstract(申明抽象),class(类),extends(扩充、继承),final(终极的,不可改变的),implements(实现),interface(接口),native(本地),new(新建),static(静态),
关于private ,默认声明,protected, public简述:
private是受保护的意思,由private声明的属性和方法,只能在这个类中调用;默认声明在同一个包中可以调用不同包中无法调用;protected在同一个包中可以相互调用,不同包中的子类对象可以调用,父类对象不能调用。public在一个工程内的不同包中都可以调用。
super(父类、超类),this(本类)的简述:
this:1.指调用该方法的对象
public class Student {
String name;
//构造时传入名字参数
public Student(String name,String km){
this.name=name;
//一个类里面能定义两个变量,一个为全局变量,一个为方法内的变量,如果写成name=name在语法上没有错误,把自己赋给自己,但是在逻辑上错了,他们都等于最近传入的变量。
}
}
2.在一个构造方法中调用自己的另一个构造方法,每一个类默认的都有一个无参构造方法,即通过new类名()调用而创建对象。我们也可以自己给类重新定义构造方法,叫做构造方法的重载。构造方法与一般方法的一大区别就是构造方法中可以调用构造方法,也可以调用一般方法;但是在一般方法中不能调用构造方法。如果我们希望无论在调用Student的任何一个构造方法时,他的属性都要附上初值,代码如下
public class Student(){
//调用自己的构造器
this(“未知名字”,“Java”,“0”);
}
//构造时传入名字参数,初始化name属性值
public Student(String name){
this(name ,”Java ,o);
}
//构造时初始化name,km属性值
Public Student(String name, String km){
this(name,km,0);
}
//构造时初始化name,km,scro 属性值
public Studebt(String name,String km,int scro){
this.name=name;
this.km=km;
this.scro=scro;
}
super :可以在子类构造方法中调用父类的构造方法,在子类中调用父类中的方法
final:final以为最终的,用于描述类的话该类为终类,不能有子类,如String。放在属性前面,属性的值即为一个一个常量,属性的值不可以改变。final如果放在方法前面,当子类继承时就不能重写此方法,通常用来保护父类中不允许子类重写,但要标识为public让外部调用。final可以定义形参,但是形参的值赋值后就不能改变。
static:使用static限定的方法称为静态方法或类方法,与非static方法的区别是:非static方法调用必须该类的对象调用。static方法则不需要,直接使用类名.静态方法名()调用即可,代码实例:
public class ManagerTools{
public static void main(String args[]){
//调用静态方法:
ManagerTools.work();
//调用非静态方法,就必须创建对象
ManagerTools mt=new ManagerTools();
mt.workNoStatic();
}
//定义静态方法
public static void work(){
System.out.println(“静态方法工作中”);
}
//非静态方法
public void workNoStatic(){
System.out.println(“非静态方法工作中”)
}
}
如果运行一个程序,在开辟的内存空间中内存中先按顺序加载主类的静态属性、函数、方法、和代码块,然后再运行加载函数里面的内容。
extends:继承,例如B继承A,创建一个B的对象的时候,先开辟一块内存空间,调用A中的构造方法,把A中的属性和方法都复制到新开辟的内存空间里,再调用B的构造方法,把B的属性和方法复制到内存空间里,覆盖掉相同的属性。