美文网首页
java学习第五天

java学习第五天

作者: toro宇 | 来源:发表于2020-01-08 16:56 被阅读0次

关键字static

当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用.我们有时候希望无论是否产生对象或无论产生多少对象的情况下,某些特定的数据在内存空间里只有一份,例如所有的中国人都有个国家名称,每一个中国人都共享这个国家名称,不必再每一个中国人的实例对象中都单独分配一个用于代表国家名称的变量。


如果想让一个类的所有与实例共享数据,就用类变量

类方法主要用做工具类。 在static方法内部职能访问类的static属性,不能访问类的非static属性。

在实际开发中,static静态代码块用在初始化类的静态属性(static类型的属性)

关键字:final


接口


接口常见的处理场景是作为委托代理。
用来做回调,类之间的交互处理。
在一个类中声明一个接口定义 场景方法, 再声明一个委托属性。 如果哪个类要进行场景方法的交互。就作为该类的委托代理(实现代理方法)。如果只是简单的回调,也可以实现匿名类来进行回调如:
接口() { // 实现接口响应的方法
}

A类: 
      private OnClickItemListener listener; //声明代理

      public interface  OnClickItemListener{   // 通过定义接口实现代理
         void onClick(int position);
    }


B类: 实现匿名代理
          new LinearCyclerAdapter.OnClickItemListener(){

                    @Override
                    public void onClick(int position) {
                        Toast.makeText(LinearCyclerViewActivity.this,"position:" + position,Toast.LENGTH_SHORT).show();
                    }
                }

抽象类是对于一类事物的高度抽象,其中既有属性也有方法,接口是对方法的抽象,也就是对一系列动作的抽象。

工厂方法(FactoryMethod)


可以使用内部类来变相实现多重继承

package dayo9;

public class Test4 {

public static void main(String[] args) {
    A a = new A();
    a.testB();
    a.testC();
}
}

class A{
public void testB() {
    new InnerB().testB();
}
public void testC() {
    new InnerC().testC();
}

private class InnerB extends B{
    @Override
    public void testB() {
        // TODO Auto-generated method stub
        super.testB();
        System.out.println("这是重写B后的方法");    
    }
}

private class InnerC extends C{
    @Override
    public void testC() {
        // TODO Auto-generated method stub
        super.testC();
        System.out.println("这是重写C后的方法");
    }
}
}

class B{
public void testB() {   
}
}

class C{
public void testC() {
}
}

相关文章

  • java学习day05-数组高级

    java学习第五天内容总结: 学习内容: 关注公众号:java进阶架构师,获取的学习视频 总结: 1、方法参数:值...

  • 第五天

    第五天-纠结的面向对象(Object-Oriented,OO) 今天直接进入了Java的面向对象的学习,面向对象是...

  • Java学习第五天

    一:复习回顾 语句: (1)顺序结构 (2)选择结构:if if ...else if else if.. .el...

  • 学习Java第五天

    数组是多个数据的集合 数组的语法 数组元素类型【】 数组名; 多维数组: 数组元素类型【】【】 数组名; 多维数组...

  • Java学习第五天

    循环分支的例子 两颗骰子,第一次摇出7,11,玩家胜,摇出2,3,12,庄家胜。第二次以后摇出的点数与第一轮相同,...

  • java学习第五天

    关键字static 当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new...

  • 2021-04-08

    学习素描的第五天

  • 全新Java学习完整路线图

    Java教程,Java学习,Java学习路线图,全新Java学习路线图! 深知广大爱好Java的人学习是多么困难,...

  • 零基础学java的最佳学习方法和最全java知识大纲

    目录: 一、学习java的前提 二、学习java的方法 三、学习java时的坑 四、学习java的路线(画重点) ...

  • Java集合总结

    一:List Java ArrayList源码学习 Java LinkedList源码学习 Java Vector...

网友评论

      本文标题:java学习第五天

      本文链接:https://www.haomeiwen.com/subject/zgpjactx.html