JavaSE笔记总结(有C语言基础的)

一、Java基础知识*

  • Java程序设计概述

  • JavaSE笔记总结(有C语言基础的)_第1张图片
    JavaSE笔记总结(有C语言基础的)_第2张图片
    补充:public class 和 class的区别:

    • 一个java源文件当中可以定义多个class
    • 一个java源文件当中public的class不是必须的
    • 一个class会定义生成一个xxx.class字节码文件
    • 一个java源文件当中定义公开的类的话,只能有一个,并且该类名称必须和java源文件名称一致。
    • 每一个class当中都可以编写main方法,都可以设定程序的入口,想执行B.class中的main方法:java B,
      想执行X.class当中的main方法:java X
    • 注意:当在命令窗口中执行java Hello,那么要求Hello.class当中必须有主方法。没有主方法会出现运行阶段的错误:
      D:\course\JavaProjects\02-JavaSE\day02>java Hello
      错误: 在类 B 中找不到主方法, 请将主方法定义为:
      public static void main(String[] args)
  • Java语言基础

  • 跟C语言基本一致

  • Java中switch语句和c语言的switch语句的区别
    ①c语言的switch( )条件判断语句中只能是int, long,char等不能是字符串,
    ②但是Java5.0(1.5)版本以上支持enum类型,即枚举类型
    java jdk7.0以上支持使用string类也就是字符数组

注:- Java运算符&和&&(|和||)的区别?
① &( |) 既是逻辑运算符也是位运算符,而&&(||)只是逻辑运算符。
② &(|)无论左边结果是什么,右边还是继续运算;
&&(||)当左边为假(真),右边不再进行运算。
boolean类型和其它基本数据类型可以互相转换吗?
boolean类型与其他基本类型不能进行类型的转换(既不能进行自动类型的提升,也不能强制类型转换), 否则,将编译出错

  • 数组
    ①ava中声明的数组只是一个引用
    例如:int[] array;这里的array尚未指向内存中的任何有效地址,也不能在[]中制定数组的长度,仅表示数组类型
    ②创建数组对象开辟存储空间,系统自动赋初值;Java中的数组对象一旦创建之后,在程序整个执行期间,就不能再改变数组元素的个数
    例如:array = new int[5];(同一个程序中的array可以指向不同对象)
    array存储了数组对象的首地址,在java的栈内存,数组对象则存在了java的堆内存。
    JavaSE笔记总结(有C语言基础的)_第3张图片
    (栈内存:变量离开作用域即释放;堆内存:用于存放由new创建的对象或数组,由垃圾回收机制管理)

二维数组:
例如:boolean[][] temp;
应该把它看成多个一维数组的组合,每一行 代表一个一维数组
每一行 代表一个一维数组,列 代表的是具体的元素,列号可以不指定

二、面向对象编程

  • 封装与类
    封装:给予了对象"黑盒"特性
    类:描述相同类型的对象(属性+方法)
    定义类:[类修饰符] class <类名>{
    <类体>
    }
    Java中的构造方法(函数)与普通方法(函数)
    Java中的this关键词
    Static关键词
//被static修饰的成员被称为静态成员或者类成员属于整个类所有,可以使用类名直接访问,也可以使用对象名进行访问
   public class StaticTest{
		    public static String string="shiyanlou";
		    public static void main(String[] args){
 //静态成员不需要实例化 直接就可以访问
		       System.out.println(StaticTest.string);
 //如果不加static关键字 需要这样访问
		       StaticTest staticTest=new StaticTest();
		       System.out.println(staticTest.string);
//如果加上static关键字,上面的两种方法都可以使用
		        	    }
		        	}
//被 static 修饰的方法是静态方法,静态方法不依赖于对象,不需要将类实例化便可以调用,由于不实例化也可以调用,所以不能有 this,也不能访问非静态成员变量和非静态方法。但是非静态成员变量和非静态方法可以访问静态方法。

final关键词

final关键字可用于声明属性(常量)方法和类
语法:final 数据类型 常量名 = 具体数字;
final关键字可以修饰类、方法、属性和变量(修饰的变量就是常量)
final 修饰类,则该类不允许被继承,为最终类
final 修饰方法,则该方法不允许被覆盖(重写)
final 修饰属性:则该类的属性不会进行隐式的初始化(类的初始化属性必须有值)或在构造方法中赋值(但只能选其一)
final 修饰变量,则该变量的值只能赋一次值,即常量

  • 类的继承
  • lass 子类 extends 父类

子类拥有父类除 private 以外的所有属性和方法
子类可以拥有自己的属性和方法
子类可以重写实现父类的方法
Java 中的继承是单继承,一个类只有一个父类
注: Java 实现多继承的一个办法是 implements(实现)接口

 public class Animal {
		            public int legNum;     //动物四肢的数量

		            //类方法
		            public void bark() {
		                System.out.println("动物叫!");
		            }
		        }
public class Dog extends Animal {
		        }

Java中的方法重载与重写

  • 多态性
    多态也称作动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。
    通俗地讲,只通过父类就能够引用不同的子类,这就是多态,我们只有在运行的时候才会知道引用变量所指向的具体实例对象。
    内部类

三、Java常用类

  • 常用工具类
  • 集合
  • 异常处理
    -Java中的异常和错误简单分类

四、Java高级编程

  • 图形用户界面与事件处理
  • 多线程
  • 输入/输出流
  • Java中的I/O流
  • 数据库访问技术

你可能感兴趣的:(JavaSE笔记总结(有C语言基础的))