Java基础语法小结

  1. 属性:是对象所具有的特征
  2. 方法:是对象具有的行为。
  3. 类:把对象共性信息归纳,且用语言描述出来,是对象抽象出来的
  4. 对象:具体存在的
  5. 接收数据:
    Scanner input = new Scanner(System.in);(需要导包)
  6. Switch语句中,括号里只能是整数或自符类型的数据。
    case 1:System.out.println("****");break;
    case 2:System.out.println("\\");break;
    case 3:System.out.println("####");break;
    default:
    System.out.println("选择有误,即将退出");
    //退出
    System.exit(1);
    }>
  7. 退出语句:
    System.exit(1);
  8. 随机数:
    int result = (int)(Math.random()*10)%3+1;
  9. 封装:把一些东西包装在一起。
  10. 抽象:由一堆对象抽取一个类的过程。
  11. 画类图:
    类名
    属性(“+”表示公有的,public类型,“—”表示私有的privat类型)
    方法名
    12:构造方法:方法名和类名完全一样,无返回值,通常是public访问修饰,给类内部成员进行初始化。
    如果Dog类是第一次使用
    《1》 类加载器加载Dog类到内存,产生Dog类的type类对象。
    《2》 在栈中给对象变量dd分配内存。
    《3》 在堆中给对象分配内存
    《4》 对堆内存基本类型属性,进行清零操作。
    《5》 执行构造方法中的代码,对属性进行初始化。
    《6》 将堆内存首地址赋给对象变量dd。
    构造方法的潜规则:
    《1》定义一个类,不写构造方法,编译器会自动,添加一个无参无功能的构造方法。
    《2》如果定义一个带参数构造,编译器不在自动添加无参无功能的构造方法,构造参数的函数名不可与属性名一致,否则不会在构造方法中赋相同的值,如同名this.name=name
    This指将来类执行的代码。
    《3》.(构造方法)子类构造方法中的第一条语句,如果没有使用super感觉真显示调用父类构造,默认调用父类的无参构造。
    《4》(构造方法)构造方法地 名字必须和类名完全相同,没有返回类型
    13.继承:不劳而获
    关键字 子类 extends 父类
    super在子类调用父类必须放在构造方法的第一条语句。
    *********一般,在父类加一个无参数无功能的构造方法
    隐士规则:
    《1》父类的方法,定义的了 有参数的构造方法,无参数的构造方法不生效
    《2》.子类继承父类后的构造方法中第一条语句会默认调用
    步骤:
    子类
    《1》在内存中的字段分配空间
    《2》给子类里的属性初始话
    《3》实例化父类对象,然后是主类对象
    包的作用:限制访问范围;防止命名冲突
    继承规则:
    《1》.如果一个类没有标明继承自那个父类,默认是继承自Object,
    《2》实例化子类对象时,必然会先实例化出一个父类对象,然后再父类对象的基础上进行的扩展出一个子类对象
    《3》(构造方法)子类构造方法中的第一条语句,如果没有使用super感觉真显示调用父类构造,默认调用父类的无参构造。
    《4》(构造方法)构造方法地 名字必须和类名完全相同,没有返回类型
    《5》子类不能继承父类的三方面内容————(private成员,子类与父类不在同包父类使用默认访问权限的成员不能继承/构造方法)
    《6》.遵循里氏替换原则的两个类才可以建立继承关系,

14.方法重写(子类和父类有相同的方法)的规则:
《1》.方法重写是在两个类中(父与子)
《2》.方法名称相同,参数列表相同,返回类型相同或是其子类,访问修饰符的范围可以扩大但是不能缩小。
重写之后看重写对象new的是谁 ,调用的就是谁。
《3》方法绑定是在程序运行的时候进行的,根据new的对象是谁就调用谁的方法,属于动态绑定。

访问修饰符:private:在本类调用
默认的friendly在本类同包调用
Protect在本类同包子类调用
Public在本类同包子类其他类调用。

15.方法的重载
《1》方法重写是在一个类中
《2》方法名称相同,参数列表不相同,(参数个数不同,对应位置上的参数类型不同)
重写之后看重写对象new的是谁
《3》方法绑定是在程序编译的时候进行的,根据参数列表不相同决定 调用谁的方法,属于静态绑定。
16.抽象方法:
1。没有实现的方法(有大括号就是实现的。没有就是没有实现的方法大括号)去掉后, 在public后加 abstract关键字,规则是:如果一个方法有抽象方法的时候,这个类必须存在abstract必须定义成抽象类;
总结
《1》没有实现的方法,(即没有大括号的方法{ })叫抽象方法,必须加abstract
《2》包含抽象方法的类必须定义成抽象类,但是抽象不一定是包含抽象方法。
《3》. 抽象方法的意义:在于给子类制定标准和规范。。用来约束子类
标准和规范体现在:一方面体现在 子类中的 方法重写上
另一方面体现在方法功能上 父类要求实现什么功能,子类必须实现什么功能,否则会造成混乱,,,必须按照抽象方法规定的功能来实现
17.抽象类作用:规则
《1》一个子类继承了抽象的父类,子类要么实现(即重写父类中所有的抽象方法)父类中所有的抽象方法,否则子类必须也必须定义成抽象类
《2》抽象类不能实例化(就是不能new对象)
final关键字:不允许继承父类,在类的class前加final,,不允许继承属性在void前继承属性,,属性或方法里的常量,在类型前加final关键字,
instanceof 判断对象是否是类的对象
开辟原则:对原来的代码封闭,对于新的代码开放
18.多态:
《1》定义;相同的对象对同一个方法,表现出不同的行为
《2》表现实现:方法重载、方法重写,

  1. 接口:USB接口是一组规范,就是一组规范或标准。抽象的类
    什么是面向接口编程?
    规则:(也就是说改一下关键字class-interface;里面的方法都是抽象的但是没有abstract关键字;不加public也是公共的)《1》.两方面理解:一方面从类的角度来说是是一组纯的抽象类(有abstract,就是这个类的方法都是抽象方法,即不存在非抽象的类,但是 里面都是抽象的方法,但是没有关键字abstract)接口里所有的方法都是公共的加不加关键字public都可以
    从意义的角度来说:接口就是一组规范或标准,
    《2》(implements 关键字)类实现接口
    a.变相的实现多继承(因为只允许有一个父类)
    b。可以将任务分解,有利于实现团队合作,
    《3》接口是体现的是一种能力,设实现了接口,谁具备了这种能力
    面向接口编程
    一个类只能有一个public,继承一个父类,但是可以实现多个接口和抽象类的区别?
    抽象类:只能是这个类的本身或者子类才能传过来;
    接口:只要实现接口的类都能传过来;
    接口的好处
    1.变相的实现多继承,
    2.可以将任务分解,有利于实现团队合作,
    抽象类和借口的区别
    类里面的参数,传的时候传类就是类的本身或者是子类对象,接口是只要是接口的都能传过来
    3.接口体现的是一种能力

20集合:
Collection:接口存储一组不唯一,无序对象
List接口存储不唯一,有顺序(插入对象)的对象
Set接口存储一组唯一,无序的对象
Map接口存储一组键值对象,提供key和value的映射…有HashMap和TreeMap
List的get(int index)方法获取元素
Map的get(Object key)方法获取元素
Iterator的next()方法获取元素

HashMap(集合) 定义的size用来统计元素个数 key是set。values是Coleection 是object类型
Map co = new HashMap();
co.size();统计字典的元素个数
co.get ("CN")存放的是object类型的键,想获取某一元素的值
co.containsKey("FR"),判断是否存在某一元素。
co.remove("FR");
co.keyset();、、键集合 返回字符串
co.values();//值集合字符串
co.clear();全部清除
co.isEmpty ()判断是否为空

list的get(int index)方法获取元素,Map的get(Object key)方法获取元素,iterator的next方法获取元素

Vactor(保证安全/多线程)和ArrayList(提高速度,单线程,重效率轻安全)的异同:vactor扩容,默认增加一倍,ArrayList增长50%

Hashtable(安全)和HashMap(无安全)的区别:
Hashtable继承Directionary类,HashMap实现Map接口
Hashtable线程安全,HAshMap线程非安全;
Hashtable不允许null值,HashMap允许null值

迭代器:实现Iterator接口的都称为迭代器(iterater遍历一个集合、for each循环)
接口的方法:Boolean hasnext()是否存在下一个元素,返回bool值,Object next():返回要访问的下一个元素

泛型:类型不确定;,List(类定义不确定,实例化的时候就确定了) 由类产生对象的时候
读取便利的时候代码有变化不用强转,对于test2的检查,就不用强转
LinkedList dogs = new LinkedList();

早期java利用jdbc---odbc 桥接的技术,现在是纯的jdbc操作数据库
程序员调用的接口与类 如:
DriverManager类 Connection接口 Statement接口 ResultSet接口

流程:

  1. 加载驱动
    
  2. 创建联系对象  与数据库建立连接
    
  3. 发送SQL语句,并得到返回结果
    
  4. 处理返回结果
    
  5. 释放资源(先打开 后关掉)

你可能感兴趣的:(Java基础语法小结)