java - OOP - Are constructors required? -


so watching youtube video , youtuber said: "when creating 'this' object, going need set new ' type ' of object"...

the class called objectintro , constructor was:

                public objectintro(){ //object constructor (method) } 

so here's question...

i tried create object tells me level of petrol in car...

public class car {  double petrollevel; double tanksize;  public void refillpetrol(double i){      if(i>tanksize){         = tanksize;         petrollevel = petrollevel + i;     }     else{         petrollevel = petrollevel + i;     } }  public void fuelconsumption(double o){      if(o>tanksize){         o=tanksize;         petrollevel = petrollevel - o;     }     else{         petrollevel = petrollevel - o;     } }  public string returnpetrollevel(){     return string.format("%sl", petrollevel); }  } 

then class in object created is...

public class carobject { public static void main(string[] args){  car object1 = new car();   object1.tanksize = 50;//litres object1.petrollevel = 0;      object1.refillpetrol(50); object1.fuelconsumption(20); object1.returnpetrollevel();  system.out.printf("petrol level: %s", object1.returnpetrollevel()); } } 

my question is, how come object works without constructor? in car class, not have method says "public car(){ }", whereas youtuber stated required?

could clear up, think not using term constructor , method in write context, explain definition of these terms, along examples.

thanks

it's in java tutorial

you don't have provide constructors class, must careful when doing this. compiler automatically provides no-argument, default constructor class without constructors.

also convention uppercase class names, lowercase method parameters , use getters/setters member variables private.

sometimes might notice cannot new myclass() or cannot instantiate , object new @ all. happens because coder provided no-arg private constructor. done when instance want user instantiate object using factory method (that provide in class) etc. still doesn't change fact constructor has there (that's part of language spec).

if want know more default constructor can consult java language spec.


Comments

Popular posts from this blog

PHP DOM loadHTML() method unusual warning -

python - How to create jsonb index using GIN on SQLAlchemy? -

c# - TransactionScope not rolling back although no complete() is called -