自定义类型中的方法
static
加了static,类的方法|静态方法
工具类;可以直接调用
不用创建对象就可以使用
类.方法名
当前类中可以省略 类.
静态的,凡是静态的就是类的,就是图纸的,天生由图纸带来的,就是共享的。
静态属性
当属性有修饰符static称之为静态属性,类属性。没有叫成员属性 实例 对象属性 成员变量 . 口头语:属性—>成员属性|属性。
静态方法只能使用静态信息
没有加,对象的方法|成员方法
成员方法可以使用一切信息
没有对象不能使用成员信息
成员方法中存在 隐式的this ,静态方法中没有this.
是否存在static来区分 : 静态方法|类方法 ;成员方法|实例方法|对象方法 任何的信息 都得有归属
常量
与变量相对应的, 变量叫可变的量,内容可变。 常量是值 内容一旦确定不可改变
最终的量
只读 只用不改
final 类型 常量名 =值;
注意:规范 全部大写 _分割
构造方法|构造器
理解
没有返回类型
方法名为类名
只能创建对象时使用 new 调用
构造器是一个特殊的方法,构造方法
作用
new才是创建对象,构造器是为new服务,初始化对象信息
初始化流程
没有= 使用 默认值 null 0 0.0 ‘’ false ;
= 使用 给定值
构造块是否改变值
构造器是否改变值
1:初始化定义默认值|赋值2:构造快默认值|赋值3:构造器赋值
一级一级覆盖
空构造器
当一个类,没有手动编写构造器时,javac编译器会主动加入一个空构造,确保一个类至少有一个构造器。
合格的程序员一般会手动的加入构造器,不会使用默认的。
public Car(){
System.out.println("手动空构造器:没有参数的构造器");
}
构造器一旦加入,系统不会再加其他构造。
构造器重载
当一个类存在多个构造器时,构造器之间重载
this
this调用者
this(实参)
构造器相互调用,首行
Oop总结
面向对象理解: Object Oriented Programming 代码的组织管理 +数据的存储管理
1、造类型 -->不是能直接使用 定义声明信息,不能直接使用信息
2、用类型 -->场景 归属 块 构造器 方法
示例:
public class Oop{
//属性
int a; //成员属性
static int b; //类属性
//System.out.println(a); //不能直接使用
//块
static{
System.out.println("静态块,初始化类信息,第一次加载类运行,仅运行一次");
b = 100;
}
{
System.out.println("构造块,初始化对象信息"+this);
}
//构造器
public Oop(){
System.out.println("初始化对象信息的。。。。每次创建一个对象,构造器肯定执行一次"+this);
}
public Oop(int a){
this(); //首行调用其他构造器
this.a = a;
}
//方法
//静态方法
public static void testStatic(){
System.out.println("静态方法,只能使用静态信息");
}
//成员方法
public void testObj(){
System.out.println("成员方法,可以使用一切"+this);
}
}
控制语句
顺序执行
分支|选择执行
if
有选择的执行
如果 条件成立,就。。。单选泽
如果 条件成立 就…. 否则。。。 双选择
如果 条件1成立 就。。。 多选择
如果 在不满足条件1 条件2成立 就…
如果 在不满足条件2 条件3成立 就…
否则
if(boolean类型的表达式){
编写代码
}
if(boolean类型的表达式){
编写代码
}else {
}
if(boolean类型的表达式1){
编写代码1
}else if(boolean 类型表达式2) {
编写代码1
}….else{ }
switch
当分支很多,且条件为定值 推荐使用switch. 即 ==
月份(1-12) 星期数(1-7) 方向(上下左右) 只适用于等值 定值
结束: 代码正常执行完毕 } + break 防止下穿防止穿透
switch(整数定值|字符串){
case 值1:
代码块1;
case 值2:
代码块2;
…
default:
}