20150731

20150731

一.String:

1.声明:

  • 直接声明:String s1 = “abc”;
  • 利用构造器:String s2 = new String(“abc”);
    String s3 = new String(new byte[] {‘a’,’b’,’c’});

2.内存中指向:
解释:
1)简单类型,仅在栈内存存入内容即可。
引用数据类型,在栈内存中存入的是其内容在堆内存的地址。
2)

   String s1 = "abc";
   String s2 = s1; //这里是将s1在栈内存中存的地址赋给s2在栈内存地址 

这里写图片描述
3.string相等问题
这里写图片描述
4.常用方法:
charAt()方法:查找指定位置的字符,从0数起。
substring()::对字符串进行截取,两种方式,从指定位置到最后或者从指定位置到指定位置。(注:包括开始字符,不包括结束字符)
trim():去除前导空格和尾部空格。(注意只能去除前后的,中间不能)
replace(old,new):替换字符串

二.Scanner类:

Scanner sc = new Scanner(System.in);
int i = sc.nextInt();

这里写图片描述

三.小知识点:

1.传入的”可变参数”,只有最后一个参数才可以写为:
这里写图片描述

四.变量

  • 成员变量:类内,方法外。
  • 局部变量:方法内。
    区别:
    1.作用域:成员变量—->类内部都可以。
    局部变量—->方法内部。
    2.初始值:成员变量—–>系统会给成员一个初始值,基本类型是0,应用类型是null;
    局部变量——>必须赋初始值

五.封装

1)private
2)set–{this. }和get–{return –}
3)条件限制
这里写图片描述
这里写图片描述

六.继承

1.修饰符作用范围
这里写图片描述
解释:
1.修饰符private:只能在本类中使用
2.不同包时:仅可以访问public和protecd,而不能访问default和private.

2.super:
1)
- 调用父类方法:格式–>super.方法名();
- 在构造器中使用:默认的第一行一定是super();
子类必须先调用父类的构造器,如果父类构造器有参数,则必须显示super(参数);
2)对象初始化的顺序:
父类的属性;
父类的构造器;
子类的属性;
子类的构造器;


//父类
public class Student {
    private String name; //第一步:私有化属性
     String sex = "女";
    private int age;
    int sonAge=20;
    /*
     * 构造器
     * */
    public Student(int dauage){
        System.out.println("这是父类的构造器"+"这是父类的属性"+sonAge);
    }
}

//子类
public class LingzhuoStudent extends Student {
    int age=10;
    public LingzhuoStudent(){
        super(20);  //必须先调用父类构造器,才能构造自己
        System.out.println("这是子类构造器"+age);//如果是先初始化构造器那么age=0;
                            这里运行后可见先初始化属性
    }

}

这里写图片描述
3.覆盖父类方法(复写)
1)要求:
1)方法名称相同
2)返回值类型相同
3)参数列表相同
4)访问修饰符不能比父类更严格
5)私有方法不能被重写
2)代码:

//父类方法:

protected void Study(){
        System.out.println("学生会学习");
    }

//子类方法:
@Override     //表示下面的是复写
public void Study(){    //这样可以,但修饰符不能更严格。
        System.out.println("领卓的学生会学习!");
    }

3)快捷方式
source中的Override添加方法
4.方法重载
方法名相同,参数列表不同,与访问修饰符和返回值无关。
这里写图片描述

七.多态

  • 父类的引用指向子类的对象,根据对象的不同,产生的结果不同。
Animal animal = new Animal();
Animal animal1 = new Dog(); //多态
animal.voice();
animal.voice();
  • 强制类型转换:
    这里写图片描述

八.封装类

1.这里讲述简单数据类型的封装类:
这里写图片描述
2.自动拆箱和自动装箱
这里写图片描述
3.Integer类:

  • parseInt方法:将字符串转成十进制形式
    public static int parseInt(String s)
    public static int parseInt(String s,int radix)
    这里写图片描述

  • toBinaryString方法:返回字符串的二进制形式
    static String toBinaryString(int i )

  • static String toHexString(int i)
  • 其他方法:
    这里写图片描述

九.静态和非静态

一)静态static:
1.修饰属性(叫类的属性),使用格式:类名.属性名;
修饰方法(叫类的方法),使用格式:方法.方法名();
2.注:
1)不能修饰局部,因为类一创建时就被加载,而局部变量不加载。
2)方法中只能调用此方法外静态的属性和方法。
3)static中不允许使用super和this。
二)非静态:
1.如果不创建实例对象,那么jvm不会给非静态成员域分配存储单元。

十.final

final:
修饰类:最终的类,不允许被继承。
修饰方法:不允许被覆盖。
修饰变量:不允许被修改,就成了常量。
public static final int EYE_NUM=2;

十一.Object类

(一)所有类默认的父类。
(二)toString方法:
1.该方法返回一个字符串,它的值等于:

getClass().getName() + ‘@’ + Integer.toHexString(hashCode())
除非在此方法中重写toString方法
这里写图片描述
结果:
这里写图片描述
(三)hashCode方法:
1.返回该对象的哈希码值。哈希值即在内存中对象的地址,此值不会变。
2.演示:
这里写图片描述
(四)equals方法:
1.注意:当此方法被重写时,通常有必要重写 hashCode 方法,
以维护 hashCode 方法的常规协定,
该协定声明相等对象必须具有相等的哈希码。(我们常规可以不用重写hashcode)
2.演示:
这里写图片描述
测试结果:
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值