DÚVIDAS! ...antes de começar a aprender Orientação a Objetos

Estou aprendendo por uma apostila da Caelum, e o que aprendi até agora foi:

byte - short - int - long - char - boolean - double - float
public - static - void - class
if - else - do - default - switch - case - break - continue - while - for

Comecei a aprender C a algum tempo e desisti, mas logo de inicio eu aprendi a (esqueci o nome do comando) pegar uma informação no prompt, tipo: (eu colocava um int x, mas não dava nenhum valor a ele, só quando o programa estivesse sendo executado).

Mas até agora, em JAVA, aprendi o que coloquei ali em cima e já vou começar a aprender Orientação a Objetos.
Devo começar a aprender isso tendo apenas aqueles conhecimentos citados ou devo aprender mais coisas?

Encontrei um post dizendo tudo que um certo livro ensinava antes de ensinar Orientação a Objetos e, além do que citei antes, contia:

private - protected - abstract - final - strictfp - transient - synchronized - native - interface - implements - extends - assert - const - goto - throws - throw - new - catch - try - finally - return - this - package - import - instaceof - volatile - super

O que faço? A apostila está correta? Devo recorrer a outra? Me ajudem, por favor!