投稿

10月, 2022の投稿を表示しています

[Java] ネストしたクラスについてのまとめ

クラス内に定義するクラスを総称してネストしたクラスと呼び、外側のクラスをエンクロージングクラスと呼びます。 ネストしたクラスには次の種類があります。 インナークラス staticインナークラス 匿名クラス ローカルクラス インナークラス インスタンス化 new エンクロージングクラス().new インナークラス() インナークラスのインスタンス化するには、エンクロージングクラスのインスタンスを先に生成する必要がある。 定義例 public class InnerTest { private class Test { private void method() { System.out.println("Test.method"); } } public static void main(String[] args) { new InnerTest().new Test().method(); } } インナークラス、およびそのメソッドのアクセス修飾子はpublic、protected、private、無しの4つとも指定できる。 privateを指定してもエンクロージングクラスからは呼び出すことができる。 実行結果 java InnerTest.java Test.method staticインナークラス インスタンス化 new インナークラス() staticインナークラスのインスタンス化には、エンクロージングクラスのインスタンスは必要ない。 staticインナークラスが外部のクラスファイルの場合は、「new エンクロージングクラス.インナークラス()」のように生成する。 定義例 public class InnerTest { private static class Test { private void method() { System.out.println("Test.method"); } } public static

Alexaをしゃべらせる (Win10)

概要 Amazon Echo Dotを購入したので、Alexaに任意の文章をしゃべらせるまでの手順をまとめておきます。 事前準備 Amazon Echo Dot Amazon Echo Dot (エコードット)第3世代 - スマートスピーカー with Alexa、チャコール WSL https://learn.microsoft.com/ja-jp/windows/wsl/ WSLはWindows上で実行できるLinux仮想環境です。 インストール方法はリンク先にあります。OSはUbuntuを選択しました。 ※今回実行しようとしているスクリプトは、Windowsやgitbash上では動作しませんでした。 設定 jqコマンドインストール jqコマンドは、json形式データの整形や加工を行うコマンドです。WSLを開き、以下コマンドでインストールします。 sudo apt install jq 以下のように確認コマンドを実行し、整形されたデータが出力されればOKです。 echo "{\"a\":123}" | jq { "a": 123 } スクリプトダウンロード githubで公開されている以下のスクリプトを任意の場所へダウンロードします。 https://github.com/thorsten-gehrig/alexa-remote-control.git スクリプト設定 ダウンロードした alexa_remote_control.sh をテキストエディタで開き以下の変数を設定します。 設定項目 SET_EMAIL AmazonアカウントのEメールアドレス SET_PASSWORD Amazonアカウントのパスワード SET_MFA_SECRET MFAシークレットキー ※MFAシークレットは以下の手順で確認できます。 Amazonのアカウントサービスから、ログインとセキュリティを開く 2段階認証の「管理」を開く 新しいアプリの