1. 程式人生 > >Kotlin 匿名內部類物件引用當前Activity的this用法

Kotlin 匿名內部類物件引用當前Activity的this用法

一,Kotlin中匿名內部類,引用Activity的this用法為 this@MainActivity (對應自己的Activity),還是上程式碼吧

class Main17Activity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main17)

        //呼叫該方法
        var name = getAnimalName(object : BaseAnimal() {
            override fun getVoice(): String {
                ToastUtil.show(
[email protected]
, "匿名內部類中呼叫Activity當前物件") return "jason123" } }) LogUtils.d(name) } //設定方法的引數型別為抽象類 fun getAnimalName(animal: BaseAnimal) { animal.getVoice() } }


二,對應BaseAnimal的類
abstract class BaseAnimal{

    abstract fun getVoice():String
}


相關推薦

Kotlin 匿名部類物件引用當前Activity的this用法

一,Kotlin中匿名內部類,引用Activity的this用法為 this@MainActivity (對應自己的Activity),還是上程式碼吧 class Main17Activity : AppCompatActivity() { override f

Kotlin 匿名部類對象引用當前Activity的this用法

abstract sea 參數 自己 ride eat 匿名內部類 轉載 nac 一,Kotlin中匿名內部類,引用Activity的this用法為 this@MainActivity (對應自己的Activity),還是上代碼吧 class Main17Activity

Java匿名部類的兩種經典用法

匿名內部類是在單一表達式內定義的巢狀類。因為這些類沒有名稱和建構函式,所以稱為匿名類。它們只能訪問最終方法變數和引數。class Inner { public static void main(String[] args) { Bank b = new Bank()

非靜態部類、非靜態匿名部類會持有外部物件引用

     3、適當的考慮下是否應該使用執行緒.Android應用框架設計了許多的類來簡化執行後臺任務,我們可以使用與Activity生命週期相關聯的Loaders來執行簡短的後臺查詢任務。如果一個執行緒不依賴與Activity,我們還可以使用Service來執行後臺任務,然後用BroadcastReceive

10 面向物件_許可權修飾符&匿名部類

10.01_面向物件(package關鍵字的概述及作用)(瞭解) A:為什麼要有包(資料夾) 將位元組碼(.class)進行分類存放 包其實就是資料夾 B:包的概述 舉例: 學生:增加,刪除,修改,查詢 老師:增加,刪

kotlin中實現匿名部類

匿名內部類 anim err ner upd .net blog validate animation 1.常規的方式實現匿名內部類 valueAnimator.addUpdateListener(object :AnimatorUpdateListener { ov

java面向物件匿名部類,包,訪問修飾符,程式碼塊

1.匿名內部類 new 父類或介面(){ //進行方法重寫 }; //已經存在的父類: public abstract class Person{ public abstract void eat(); } //定義並建立該父類的子類物件,並用多型的方式賦值給父類引用變數

java之執行緒建立的兩種方式,六種狀態和匿名部類建立子類或實現類物件

一.匿名內部類建立子類或實現類物件 new Test(){} 相當於建立了Test類的子類物件 並且沒有類名 建立介面實現類 new 介面名() {};介面實現類的物件 注意 : new 後邊是類或者介面名 大括號內是類或者介面中的方法 public

java匿名部類的使用 (比如new物件後的大括號, List list = new ArrayList() { { }}這用用法等)

今天在看別人的程式碼的時候,發現有 Yyy uu=new Xxx(){ public void aaa(){ //這裡寫程式碼。。。 } } 這種形式,以前偶爾看見過,也知道是匿名內部類的情況,但一直沒有仔細去研究,今天特意花點時間去寫了點很簡單也易懂的例子,初學時需要的技術不在於

java匿名部類的使用 (比如new物件後的大括號, List list = new ArrayList() { { }}這用用法等)

今天在看別人的程式碼的時候,發現有 Yyy uu=new Xxx(){ public void aaa(){ //這裡寫程式碼。。。 } } 這種形式,以前偶爾看見過,也知道是匿名內部類的情況,但一直沒有仔細去研究,今天特意花點時間去寫了點很簡單也易懂的例子,

部類匿名部類物件的初始化過程

一般用於類的設計: 分析事物時,發現該事物描述中海油事物,而且這個事物還在訪問被描述事物的內容 這時就是還有的事物定義成內部類來描述 為什麼內部類能直接訪問外部類中成員呢?  那是因為內部類持有了外部類的引用。外部類名:this 內部類可以存放在區域性位置上 內部類

Kotlin匿名部類

物件表示式: window.addMouseListener(object : MouseAdapter() { override fun mouseClicked(e: MouseEvent) { // ... }

面向物件_匿名部類的格式和理解

/* 匿名內部類 就是內部類簡化寫法 前提:存在一個類或者介面 這裡的類可以是具體也可以是抽象類 格式: new 類名或者介面(){ 方法重寫; } 本

部類,區域性部類匿名部類建立物件方法

內部類: 定義在A類中的B類就是內部類,B類在A類中的地位和其他成員相同,意思就是說可以相互呼叫  優點:通過內部類可以讓java間接的實現多繼承 建立內部類的物件 方法一 先獲取內部類物件再呼叫方法 Outer out = new Outer(); 外部類物

使用匿名部類排序物件

排序是實際中常用的一種需求。具體針對某類物件,也經常需要對物件進行排序。 下面給出一個簡單的例子,使用匿名內部類實現Comparator介面來進行排序。 public class Demo {

匿名部類建立物件

有兩個類 APP返回的JSON型別的實體類 public class AppResultObj {private String ret_msg;//返回提示資訊private String ret_code;//呼叫介面的狀態碼(1 成功 2失敗)private Data

匿名部類持外部引用造成記憶體洩漏問題

public class SampleActivity extends Activity { private final Handler mLeakyHandler = new Handler() { @Override publi

通過匿名部類建立物件

通過匿名內部類的方式建立一個物件,並且完成一些操作。 String [] arr = {"hello", "world", "welcome", "hello world", "welcome h

Kotlin程式設計之巢狀類,部類匿名部類

Kotlin程式設計相關知識點介紹: 和Java程式設計類似,在Kotlin程式設計也有巢狀類和內部類,及匿名內部類。 開始編寫一個案例,來了解這三者,程式碼如下: package com

面向物件_匿名部類的面試題

/* 按照要求,補齊程式碼 interface Inter{ void sho(); } class Outer{ //補齊程式碼 } class Out