java自学基础知识重点1

Java基础1

基础的基础
  • 数据类型
  1. 基本类型

​ byte short int long float double char boolean

  1. 引用类型

​ 类(String) 接口 数组

二进制 0b 八进制0 十六进制0x

  • 类变量 直接用 静态 static

  • 常量final

  • 修饰符

  • 包机制 package

  • 导入包import

public class Name{
	public static void main(String[] args){
	
	}
}//初始化
System.out.println("hello");//打印
classname exmam = new classname();//使用实例变量
Scanner s = new Scanner(System.in);//输入
if ( s.hasNext() ){
	String str = s.next();
	System.out.println(str);
	s.close();//及时关闭
}
next();//消除之前空格,空格为分隔符或结束符
nextLine();//回车之前的所有
nextInt();//整型
for遍历
for(int i:numbers){//增强遍历

}
方法
public class Name{
    public static void main(String[] args){
        
    }
    public static int add(int a,intb){//static类变量可直接调用
        return a+b;
    }
}
//值传递,没有引用传递
//命令行传参
//可变参数
public void test(int x,int... i){//可变参数放到最后
    
}
数组
//定义
int[] array;//首选
int array[];
//创建数组
int[] array = new int[2];
array.length;//数组长度
//java的内存分析
//栈声明,堆创建开辟内存,数组
//初始化
int[] a = {2,3,4};//静态初始化
int[] b = new int[10];//动态初始化:包含默认初始化(默认初始值)
//数组变量属于引用类型,数组也可以看成对象,数组本身就是对象
//多维数组
int[][] a = new int[2][3];
//Arrays类
import java.util.Arrays;//导入
Arrays.toString(name);
Arrays.sort(name);
//稀疏数组
//类是抽象,对象是具体的实例
//new创建对像
//属性,方法
//this指向当前类

//构造器
new; //本质是调用构造器
//创建对象内存分析
//栈放引用,栈指向堆区,堆区含方法区,方法区含静态方法区

//封装
private;//
public;//
default;//
protected;//

//继承
public class Students extends Teachers{}
//子类继承父类的全部方法
//在java中,所有类直接或间接继承Object类
//super
super.name;//父类的public
//构造器先执行父类的无参构造器super();

//方法重写
Son son = new Son();
Father a = new Father();//父类的引用指向子类,子类重写父类的方法
//非静态,public,方法名一样才:重写
//修饰符:范围可以扩大不可以缩小,public>protected>default>private
//抛出的异常,范围可以缩小,但不能扩大

//多态
//子类重写了父类的方法,就执行子类的方法
//多态是方法的多态
//父类和子类有关系,父类引用指向子类对象
Father a = new Son();
//static 方法属于类,不属于实例

//instanceof
//判断对象类型
Object object = new Son();
object instanceof Father;//true
Object instanceof Son;//true
x instanceof y;//x和y之间是否存在父子关系
//类型转换
//父类转化为子类,需要强制转换
//子类转化为父类会丢失一些方法,不用强制转换

//static
//静态变量,类的
//代码块
//静态代码块
//静态是和类一起加载的,只执行一次
//静态代码块,默认代码块和类一起加载,并且先于构造器
//静态导入包,不用写类名了

//抽象类、
//抽象方法,只有名字,必须为抽象类,抽象类可含不抽象方法
public abstract class Name{
    public abstract void f();
}
//类的时候具体定义,写方法的具体內容

//接口,只有规范,自己无法写方法,更抽象。面向接口编程
public interface Name1{
    //所有定义默认是抽象的public abstract
    //定义的属性都是常量,public static final
}
//接口间接可多继承
public class some implements Name1,Name2{
    //重写接口中的方法
}
//接口没有构造方法

//内部类
//一个类的内部的定义的一个类
Out.in a = Out.new in();
//内部类可以访问外部类的私有属性、方法
//内部静态类加个static
//一个Java可以有多个class类,只能有一个public class
//局部内部类
//匿名内部类
new Name().run();
异常
//Exception
//异常类Error、Exception
//超类Throwable
//Error致命,Exception可被程序处理
try{//监控区
  throw new Name();//主动抛出异常  
}catch(异常类型 e ){//捕获异常
    //
}catch(Exception t){//捕获异常从小到大
    
}finally{//善后工作
    
}//finally可以不要
public void test() throws Name(){
    throw new Name();
}//可想外抛出异常
//自定义异常
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值