import java.util.List;
import java.util.stream.Collectors;
 
class Ideone {
	public static void main 
(String[] args
) { 		List
<Student
> students 
= List.
of(1.0, 
2.0, 
3.0, 
4.0).
stream()				.map(Student::of)
				.collect(Collectors.toList());
 
		System.
out.
println(sumScore
(students
)); 	}
 
	public static double sumScore(List<? extends Student> students) {
		return students.stream()
			.mapToDouble(Student::getScore)
			.sum();
	}
}
 
class Student {
	final double score;
 
	private Student(double score) {
		this.score = score;
	}
 
	public static Student of(double score) {
		return new Student(score);
	}
 
	public double getScore() {
		return score;
	}
}
				aW1wb3J0IGphdmEudXRpbC5MaXN0OwppbXBvcnQgamF2YS51dGlsLnN0cmVhbS5Db2xsZWN0b3JzOwoKY2xhc3MgSWRlb25lIHsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB7CgkJTGlzdDxTdHVkZW50PiBzdHVkZW50cyA9IExpc3Qub2YoMS4wLCAyLjAsIDMuMCwgNC4wKS5zdHJlYW0oKQoJCQkJLm1hcChTdHVkZW50OjpvZikKCQkJCS5jb2xsZWN0KENvbGxlY3RvcnMudG9MaXN0KCkpOwoJCQoJCVN5c3RlbS5vdXQucHJpbnRsbihzdW1TY29yZShzdHVkZW50cykpOwoJfQoJCglwdWJsaWMgc3RhdGljIGRvdWJsZSBzdW1TY29yZShMaXN0PD8gZXh0ZW5kcyBTdHVkZW50PiBzdHVkZW50cykgewoJCXJldHVybiBzdHVkZW50cy5zdHJlYW0oKQoJCQkubWFwVG9Eb3VibGUoU3R1ZGVudDo6Z2V0U2NvcmUpCgkJCS5zdW0oKTsKCX0KfQoKY2xhc3MgU3R1ZGVudCB7CglmaW5hbCBkb3VibGUgc2NvcmU7CgkKCXByaXZhdGUgU3R1ZGVudChkb3VibGUgc2NvcmUpIHsKCQl0aGlzLnNjb3JlID0gc2NvcmU7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgU3R1ZGVudCBvZihkb3VibGUgc2NvcmUpIHsKCQlyZXR1cm4gbmV3IFN0dWRlbnQoc2NvcmUpOwoJfQoJCglwdWJsaWMgZG91YmxlIGdldFNjb3JlKCkgewoJCXJldHVybiBzY29yZTsKCX0KfQ==