后缀:jsp,相当于html,不过可以写Java代码。
建包取名:
A:包名小写
B:包名反写
Java:
类名大写(取名要有意义),驼峰命名法。
三目运算符可以代替简单if else
if(a<b){
min=a;
}else{
min=b
}
min(a<b)?a:b; //(意思:如果为真,a是min;如果为假,b是min)
面向对象:
类,对象(方法丶属性)
属性又叫成员变量(一般都是私有)
get方法 又叫访问器
set方法 又叫设定器
alt + shift + s + r (快捷键生成访问器_设定器)
类图:
在类图中 -号是私有的 +公有的
final:(最终常量)
例:
性别只有男~女
final String SEX_man = "男";
final String SEX_woman = "女";
String sex = SEX_man / SEX_woman (2选1)
//意思:当一个属性范围有限时,可以定义几个常量让它只能等于常量中的一个并且不能修改。
构造方法:
IDE:
集成开发环境
默认构造器:
如果一个类中没有写任何构造器,JDK会提供一个默认构造器。如果写了构造器且写有方法体(叫无参构造器)JDK就不提供默认构造器
例:Penguin类默认构造器的样子
public Penguin(){//括号没东西就叫无参构造器
//叫默认构造器
}
无参构造器包括默认构造器
public Penguin(){//括号没东西就叫无参构造器
//当中括号写有方法体就不能叫默认构造器
}
有参构造器 //分为实参和形参
public Penguin(String name){//这个有参数叫形参
this.name = name;
}
alt + shift + s + o (快捷键生成构造器)
在构造器中调用另一个构造器:
public Penguin(String name,String sex){
this(name); //调用的构造器要写在第一行
this.sex = sex;
}
构造器没有返回类型,方法才有返回类型。
//有多个构造器叫构造器重载
重载只能发生在一个类里。
方法的重载:
参数个数不同可以重载,参数类型不同可以重载,与方法返回值和方法名字(又叫方法修饰符)无关。
例:
public void print(String name,String sex){
System.out.print(name);
System.out.println(sex);
}
public void print(int love,String sex){
System.out.print(love);
System.out.println(sex);
}
方法名相同,参数列表不同也是重载
public void max(int a ,int b){
返回大的一个
}
public void max(long a ,long b){
返回大的一个
}
static:
static String name = "张三";//静态属性或类属性
public static int add(int a,int b){ //静态方法或类方法
return a+b;
}
{ //语句块 ~初始化块
int a ;
int b ;
System.out.println();
}
先执行初始化块,语句 缺点,要执行多次初始化块
static { //语句块 ~初始化块
int a ;
int b ;
System.out.println();
}
如果加了static 只开头执行一次初始化块
静态方法只能调用静态属性,如果不是静态属性只能通过new对象调用。
this 是表示对象 不能出现在静态方法中。
一般不能类名直接访问成员变量,只有加static可以(加static可以直接通过类名访问成员变量)
this 是在对象指代自己,只能用于实例变量,实例方法,构造方法。
不能调用类变量和类方法(有static的变量和方法)也不能调用局部变量。
封装:
封装权限控制符
private 私有的 只能自己
public 公共的 都可以访问
默认的 可以被同一个包访问
protected 可以被同一个包访问 被同一个项目不同包子类访问