Source: https://stackoverflow.com/questions/2411270/when-should-i-use-this-in-a-class
Disambiguation
public int readInputStream_Char(InputStream stream) {
this.stream = stream;
InputStreamReader reader = new InputStreamReader(this.stream);
int character = 0;
try {
character = reader.read();
} catch (IOException e) {
e.printStackTrace();
}
return character;
}
Calling Overloaded Constructors
public class MyClass {
public MyClass(String foo) {
this(foo, null);
}
public MyClass(String foo, String bar) {
...
}
}
Builder Pattern Example
public class User {
private String firstName;
private String surname;
public User(Builder builder){
firstName = builder.firstName;
surname = builder.surname;
}
public String getFirstName(){
return firstName;
}
public String getSurname(){
return surname;
}
public static class Builder {
private String firstName;
private String surname;
public Builder setFirstName(String firstName) {
this.firstName = firstName;
return this;
}
public Builder setSurname(String surname) {
this.surname = surname;
return this;
}
public User build(){
return new User(this);
}
}
public static void main(String[] args) {
User.Builder builder = new User.Builder();
User user = builder.setFirstName("John").setSurname("Doe").build();
}
}
Nested Classes
public class Outer {
protected int a;
public class Inner {
protected int a;
public int foo(){
return Outer.this.a;
}
public Outer getOuter(){
return Outer.this;
}
}
}
- Log in to post comments
Tags
