Question: Can anyone tell me where i have gone wrong in creating a construtor to call a method in another class file. It tells me constructor cannot be applied to given type

Answer: 
If you remove your constructor declaration from the Student class, then the implicit empty constructor will exist.
But if you declared explicitly a constructor like your `public Student(String firstname, String surname, String total)` then the empty constructor won't be available, unless you add it explicitly to your class.

```
public Student() { };

```

Then you call unexistant methods :

```
newStudent.firstName("my name");

```

The method you want to call, as declared in your Student object is `setFirstName(String firstName)`

Finally in your println calls, you are trying to access the attribut of the object directly instead of using the getters methods.
You Student class don't have an empty constructor like youd do :

```
Student newStudent = new Student();

```

So you have a Constructor which should take three String :

```
public Student(String firstname, String surname, String total) {

```

So to solve your problem you have two ways :

1st
===

Create an empty constructor that not take any attribute like this :

```
public Student() {
}

```

and you can put your values with setAtt for example :

```
newStudent.setFirstName("my name");

```

2ed
===

You should to call your constructor with the three value like this :

```
Student newStudent = new Student("name 1", "name 2", "name 3");

```

Note
====

You can't set a value to an attribute in another class like this :

```
newStudent.firstName("my name");

```

You can make it like this :

```
newStudent.firstName = "my name";

```