(车辆管理系统)2018-07-19实训第四天笔记

今日很多人都跟不上项目进度了,所以老师讲了javaSE基本的一些东西,如下是javaSE的概括基础笔记

一、数据类型
基本数据类型(原始)8种

整形:byte ,short,int,long
浮点型:float,double
字符型:char
布尔型:boolean(true,false)

引用类型(对象类型)
String,Math,ArrayList等,还有自己定义的类
使用时: 必须实例化(创建对象)
String s = new String();
Dept dept = new Dept();
s,dept是对象名(实例名)
实例名.方法名()
实例名.属性名

byte by = 8;//变量定义/变量声明
int iy = by;
byte ay = (byte)iy;
by,iy,ay变量名
标识符(变量名,类名,方法名)
见名知意:
驼峰原则:
由多个单词组成,单词首字母大写(对于变量名和方法名首字母小写),类名首字母大写
作用域:
局部变量:离他最近的{}中有效
全局变量(属性):整个类中有效

运算符:
=赋值,==比较,&&(与,所有都需要判断),||(或,)
二。类的定义
创建.java文件(源文件)
原则:文件名与类名一致
创建HelloWord.java文件
public class HelloWord{
      public static void main(String[] arg){

      }
}

HelloWord hello = new HelloWord();
hello.
类中可以有属性和方法:
方法的定义:
访问修饰符   返回值类型   方法名(参数列表){方法体}
参数列表  0-n个
访问修饰符:public private protected  默认
返回值类型:无返回值写void ,有返回值写返回值类型,与return 的数据类型一致
参数:
方法中叫做形参
调用方法时传入的实参:实际存在。
方法参数,对于基本数据类型传的是值,对于引用类型,传的是地址
h
public class HelloWord{
      public int sum(int a,int b){
          a = a+b;
          return a;
      }
      public void changedept(Dept  dept){
         dept.name="aaa";
      }
}
public class Dept{
       String name;
}

HelloWord h= new HelloWord();
int a =2;
int b =2;
h.sum(a,b);

Dept dept = new Dept();
dept.name="bbbb";
System.out.println(dept.name);//bbbb
h.changedept(dept);
System.out.println(dept.name);//aaa
构造方法(构造函数)
  public 无返回值 方法名与类名一致 (){}
public Dept(){}
如果类中 没有显示的写构造方法,那么编译时会自动加一个不带参的构造方法,
如果类中显示的写了构造方法,无论是否带参数,都不会加不带参的构造方法。
作用:初始化赋值

三、继承关系(所有类的根类都是Object)
  通用的功能写在父类中
  extends 
  子类继承父类所有可以被继承的属性和方法
  方法的重写:
  子类重写父类方法:访问范围不能比父类小,返回值类型不能比父类大,方法名一致,参数列表一致。方法体不同
   animal----person-=---(student,teacher)
   父类中定义返回值类型为person,
   子类重写该方法时,返回值类型不能是animal
    调用父类super

   方法的重载:
     在同一个类中,访问修饰,返回值类型,方法名(一致),参数列表不一致
四、抽象类,抽象方法abstract
    抽象类中可以有普通方法,但抽象方法必须在抽象类中
    如果父类是一个抽象类,那么子类必须实现父类中抽象方法,或者子类也是一个抽象类
五,接口 ,统一的标准  implements实现接口,interface定义接口
    接口不能被实例化,

六。static  final
    static 静态,修饰属性,方法,静态块
     修饰属性的时候,全局的(所有对象用的是同一个)
     类属性,类方法
     不用实例化对象,就可以使用
     类名.属性名
    类名.方法名
    静态块,当类被加载到的时候,就执行块中的语句(初始化)
    final:最终的,修饰的类不能被继承,修饰的方法不能被重写,修饰的变量值不能被更改

   static和final同时修饰的属性可以做常量:常量的变量名大写
七。数组和集合
   数组:一组具有相同类型数据的集合
    动态定义:先定义数组中数据的个数,后赋值
    Object[] objs = new Object[4];
    
    静态定义:
    int[] array = {1,3,4,4,5};
    定义时在内存分配空间,数组的长度是不可变的,其余不赋值的给默认值。
   整形默认值0,String 是null,
    获取数组的长度length属性
    数组赋值 array[0] = 2;
    数组取值:array[0] 索引号从0开始,最大不能大于数组的长度,否则数组越界

    集合:
     List:有序可重复
       ArrayList
     Set:无序不可重复
       HashSet
     Map:键值对
    key,
    value,  
     HashMap,put(key,value)存值,get(key)取值
   
ArrayList 。add(value)存值,get(0)取值,索引号从0开始,不能大于长度,可变长度。
            size()长度

八 String
   StringBuffer 线程安全的
   StringBuilder 非线程安全的
    append()追加数据

九。面向对象三大特性:封装,继承,多态
  封装:属性名首字母一定小写,属性为private修饰,编写set和get方法
    set属性名(类型与属性相同  参数名){属性名 = 参数名};
    get属性名(){return 属性名};
    方法中属性名首字母大写,
    this 当前对象

猜你喜欢

转载自blog.csdn.net/acDream_/article/details/81125945