java重点知识掌握个人学习

所用教材:java核心卷(一)

第五章:继承关系

参考博客:https://www.runoob.com/java/java-override-overload.html

有时候我们定义一个学生类里面有属性值,走路方法,说话方法和学习方法,定义一个老师类里面有属性值,走路方法,说话方法和教书方法。此时属性值,走路方法,说话方法相当于重叠了,此时我们可以定义一个父类的人类包含学生类和教师类的共有属性,之后采用继承关系简化代码!

1.extends+父类

java里面一个子类只能有一个父类,被static修饰的方法不能被重写,声明为 final 的方法不能被重写。

class Animal{
       public static void move(){
          System.out.println("动物可以移动");
       }
    }

————————————————————

class Dog extends Animal{
       public static void move(){
          System.out.println("狗可以跑和走");
       }
    }
————————————————————

public class Tea {
           public static void main(String args[]){
              Animal a = new Animal(); // Animal 对象
              Animal b = new Dog(); // Dog 对象
         
              a.move();// 执行 Animal 类的方法
         
              b.move();//执行 Dog 类的方法
           }
        }
输出的结果为:动物可以移动
                         动物可以移动

原因:因为被static修饰了所以不能重写。

2.方法的重写

即为extends之后将重名的方法{}中的输出内容进行了修改。

3.super关键字

4. 

4.被final定义的不能继承,不能有子

5.强制类型转换:加上()eg:double x=3.405;  int nx=(int)x;

6.instanceof(属于) 就是一个指向性的可以判断父子类之间关系

子类instanceof父类:true

父类instanceof子类:false

7.int 和integar类型的数据区别:

int和Integer的区别

1)、Integer是int的包装类,int则是java的一种基本数据类型 。

2)、Integer变量必须实例化后才能使用,而int变量不需要 。

3)、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值 。

参考博客:

https://blog.csdn.net/qq_37358860/article/details/100149986

4)、Integer的默认值是null,int的默认值是0。

public class Tea {
           public static void main(String args[]){
               Integer a = 5;
                int b = 5;
                Integer c = new Integer(5);
                Integer d = 5;

                System.out.println(a.equals(b));
                System.out.println(a == b);
                System.out.println(a.equals(c));
                System.out.println(a == c);
                System.out.println(a == d);
            
           }
        }

返回结果:

true
true
true
false
true

8.==和equals的区别:

==我们知道是指的比较的两个对象的地址值,equals是object类里面的一个方法,但是equals方法会被重写。所以虽然equals方法实际也是比较的地址,但是重写了所以有时候比较String,integer的时候比较的是其中的值。对于基本类型的包装类型,比如Boolean、Character、Byte、Shot、Integer、Long、Float、Double等的引用变量,==是比较地址的,而equals是比较内容的。

9.基本数据类型包装:

除了int类型转换为Integer类型。char类型转换成character其他都是将首字母大写。

包装类是为了能够更好的用toString方法转换数据类型。

10.static

1),类属性中:我们都知道实例变量和类变量,实例变量用static修饰,类变量则为普通变量无static。实例变量可以直接类名.变量名进行调用而类变量却要新建对象才能调用。并且用static修饰的变量可以在类外面通过类名+变量名直接赋值,在每次调用的时候值都是相同。类变量在每次创建对象赋值的时候都可以赋予新类型的值。

2),类方法中:被static修饰的成员方法可以用类名.方法名直接调用。而不用static修饰的则要先创建对象再调用调用。

3),静态方法中不能访问非静态成员方法和非静态成员变量,但是在非静态成员方法中是可以访问静态成员方法。理解为static相当于公有。公有里面不能调用私有方法,私有方法却能调用statc修饰的公有方法。

4),在循环中静态代码块只执行一次,但非静态代码块却随着循环执行多次。

11.ArratList数组:有索引值,长度可以改变。

原因:有时候我们需要做增删改查的操作需要一个长度不固定的数组。

格式:ArrayList<保存的元素数据类型> ar=new ArrayList<>(100);//100为存储空间,也可以不填

添加数据:ar.add(添加元素);ar.add(索引值,添加的元素);

删除元素:ar.remove(添加元素);ar.remove(索引值,添加的元素);

设置元素:ar.set(索引值,添加的元素);

返回索引处的值:ar.get(索引值);

                        

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值