�m���Ƃ��ă��_�ɂȂ�Ȃ��AJava SE 8�̊̂ƂȂ郉���_���̊�{���@�FJava 8�̓����_���ł����܂ŕς��i2�j�i2/3 �y�[�W�j

» 2014�N03��18�� 18��00�� ���J
[���J��q�V�C������Ѓr�[�u���C�N�V�X�e���Y]

�����N���X�ƃ����_���̋��ʓ_

�@�����N���X�ōs���Ă��������������_���ŏ����������邱�Ƃ��番����悤�ɁA�����_���������N���X�ł̐����������K�p����܂��B

������ϐ��ɂ‚���

�@�����N���X�ł̓N���X�����ƒN���X�ϐ���static�ϐ��͎������鏈�����ň������Ƃ͉”\�ł��B�������A���\�b�h���Œ�`����郍�[�J���ϐ��⓽���N���X����`����Ă��郁�\�b�h�̈����́Afinal�łȂ�����Q�Ƃ͂ł��Ă����炩�̏������s�����Ƃ͂ł��܂���B

�@���l�ɁA�����_���ł��N���X�ϐ���static�ϐ��������܂����Afinal�łȂ����[�J���ϐ�������͈����܂���B

�@�Ⴆ�Ύ��̊֐��^�C���^�[�t�F�[�X���������Ƃ��܂��B

@FunctionalInterface
public interface DoSomethingInterface {
    void doSomething();
}

�@���̊֐��^�C���^�[�t�F�[�X�����̂悤�ɃN���X�ϐ���static�ϐ���������������ꂽ�������s���ꍇ�A�G���[�ɂ͂Ȃ炸����Ɏ��s�ł��܂��B

public class SampleClass {
    private int classField = 0;
    private static int staticField = 0;
    private void process() {
        DoSomethingInterface functionalInterface = () -> {
            classField ++;  // �� ���̕ϐ����������Ƃ͉”\�B
            staticField ++;  // �� ���̕ϐ����������Ƃ͉”\�B
        };
        System.out.println("Before; classField =" + classField);
        System.out.println("Before; staticField =" + staticField);
        functionalInterface.doSomething(); // ���������s
        System.out.println("After; classField =" + classField);
        System.out.println("After; staticField =" + staticField);
    }
    public static void main(String[] args) {
        SampleClass sample = new SampleClass();
        sample.process();
    }
}
Before; classField=0
Before; staticField=0
After; classField=1
After; staticField=1
���s����

�@�������A���\�b�h����final�łȂ����[�J���ϐ��⃁�\�b�h�̈�����ς��悤�Ƃ���ƃG���[�ɂȂ�܂��B

private void process() {
    int i = 0;
    DoSomethingInterface functionalInterface = () -> {
        i++; // �� ���̕ϐ��͈����Ȃ��̂ŃG���[�ɂȂ�܂��B
    };
�c�c

�@�������A���[�J���ϐ��̒l��ς����ɎQ�Ƃ���݂̂̏ꍇ�̓G���[�ɂ͂Ȃ�܂���B���̏ꍇ�̓R���p�C���������s�����G���[�ɂȂ炸�Ɏ��s�ł��܂��B

private void process() {
    int i = 0;
    DoSomethingInterface functionalInterface = () -> {
        System.out.println("i=" + i);
    };
�c�c

�@�܂��A���[�J���ϐ�����������炩�̃N���X�������ꍇ�A���̃N���X���̂�ς��邱�Ƃ͂ł��܂��񂪁A�N���X�����ƒN���X�ϐ��̒l��ς��邱�Ƃ͉”\�ł��B

�@�Ⴆ�Ύ��̃N���X���������Ƃ��܂��B

public class DummyClass {
    public int field;
}

�@���̃N���X�ɑ΂��āA���̂悤�ɃN���X���g��ς��邱�Ƃ͂ł��܂��񂪁A�N���X�����ƒN���X�ϐ���ς��Ă��A�G���[�ɂ͂Ȃ炸���������s�ł��܂��B

private void process(DummyClass argClass) {
    DummyClass localFiledClass = new DummyClass();
    DoSomethingInterface functionalInterface = () -> {
//        localFiledClass = new DummyClass(); // �� �s��
//        argClass = new DummyClass(); // �� �s��
        localFiledClass.field++; // �� �”\
        argClass.field++; // �� �”\
�c�c

�Ăяo���郁�\�b�h

�@�����N���X�ł͂��̓����N���X����������Ă���N���X�̃��\�b�h���Ăяo���܂��B���l�ɁA�����_���ł��N���X���̃��\�b�h���Ăяo�����Ƃ��”\�ł��B

�@�Ⴆ�΁A���̂悤�ɃN���X�����ƒ��\�b�h�ɑ΂��ă����_������Ăяo�����Ƃ��”\�ł��B

public class SampleClass {
    private void process() {
 
        DoSomethingInterface functionalInterface = () -> {
            privateMethod();
            method();
            protectedMethod();
            publicMethod();
            staticMethod();
        };
        functionalInterface.doSomething();
    }
    private void privateMethod() {
        System.out.println("private�̃��\�b�h���Ă΂�܂����B");
    }
    void method() {
        System.out.println("�A�N�Z�X�C���q�Ȃ����\�b�h���Ă΂�܂����B");
    }
    protected void protectedMethod() {
        System.out.println("protected���\�b�h���Ă΂�܂����B");
    }
    public void publicMethod() {
        System.out.println("public���\�b�h���Ă΂�܂����B");
    }
    private static void staticMethod() {
        System.out.println("static���\�b�h���Ă΂�܂����B");
    }
    public static void main(String[] args) {
        SampleClass sample = new SampleClass();
        sample.process();
    }
}

�@���ꂪ���s�����Ɖ��L�̌��ʂ��o�܂��B

private�̃��\�b�h���Ă΂�܂����B
�A�N�Z�X�C���q�Ȃ����\�b�h���Ă΂�܂����B
protected���\�b�h���Ă΂�܂����B
public���\�b�h���Ă΂�܂����B
static���\�b�h���Ă΂�܂����B

�����N���X�ƃ����_���̈Ⴂ�ithis���\�����́j

�@���܂Ō��Ă����悤�ɓ����N���X�̎����������_���ŏ��������邱�Ƃ͂����Ă��̏ꍇ�͉”\�ł��B���������L�ɂ‚��Ă͓����N���X�ƃ����_���̊ԂňႢ������܂��B

�@�����N���X�̎��������ŏ����ꂽ�uthis�v�́A���̓����N���X���g��\���܂����A�����_���̏ꍇ��this�́A���̃����_�����L�q���ꂽ�N���X���̂�\���܂��B

�@�Ⴆ�΁A�������Ȃ��W���o�͂̂ݍs�����߂̊֐��^�C���^�[�t�F�[�X�����L�̂悤�Ɏ��������ꍇ�A�����N���X��this�͓����N���X�́uSampleClass$1�v��\���A�����_����this�́uSampleClass�v��\���܂��B

package jp.co.atmarkit.lambda.sample02
 
import �c�c //���ȗ�
 
public class SampleClass {
    public static void main(String[] args) {
        SampleClass sample = new SampleClass();
        sample.process();
    }
    private void process() {
        // �����N���X�̏ꍇ
        DoSomethingInterface anonymous = new DoSomethingInterface () {
            @Override
            public void doSomething() {
                System.out.println("�����N���X�F" + this.getClass());
            }
        };
        anonymous.doSomething();
        // �����_���̏ꍇ
        DoSomethingInterface lambda = () -> {
            System.out.println("�����_���F" + this.getClass());
        };
        lambda.doSomething();
    }
}

�@���s���ʂ͎��̂悤�ɂȂ�܂��B

�����N���X�Fclass jp.co.atmarkit.lambda.sample02.SampleClass$1
�����_���Fclass jp.co.atmarkit.lambda.sample02.SampleClass

Copyright © ITmedia, Inc. All Rights Reserved.

'; this.insertTarget = document.querySelector('#cmsBody .subscription') || document.querySelector('#cmsBody .inner'); }; BodyAdIMSWithCCE.prototype = Object.create(BodyAdContent.prototype); BodyAdIMSWithCCE.prototype.activate = function () { refreshGam('InArtSpecialLink'); } // global reference window.itm = itm; //entry point BodyAdEventBase.polyfill(); const bodyAdManager = BodyAdManager.getInstance(); bodyAdManager.addEventListener(BodyAdManager.EVENTS.READY, function (ev) { bodyAdManager.loadAdvertise(); }); bodyAdManager.init(); })();
�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

Microsoft  WindowsőO2025
AI for GWjAO
[R[h^m[R[h Zg by IT - ITGWjArWlX̒SŊ􂷂gD
Cloud Native Central by IT - XP[uȔ\͂gD
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B